Zbudowałem klasę pomocniczą, która tworzyła niestandardową klasę za pośrednictwem szablonów, ta niestandardowa klasa musi dziedziczyć z określonej klasy, mogę to sprawdzić za pomocą std::is_base_of
.Statyczny aser dla dziedziczenia publicznego
Muszę jednak sprawdzić, czy dziedziczenie jest publiczne, w jaki sposób można to osiągnąć?
Dla odniesienia, tutaj jest obnażona wersja klasy, mam tam std::is_base_of
.
template<class CustomSink>
class Sink
{
static_assert(std::is_base_of<BaseSink, CustomSink>::value, "CustomSink must derive from BaseSink");
//Some static assert here to check if custom sink has publicly inherited BaseSink
//static_assert(is_public.....
public:
template<class... Args>
Sink(Args&&... args)
{
}
~Sink()
{
}
};
Lub po prostu użyć 'std :: is_convertible '? – cpplearner