Я построил вспомогательный класс, который создавал бы пользовательский класс с помощью шаблонов, этот пользовательский класс должен наследовать от определенного класса, я могу проверить это с помощью std::is_base_of
.
Однако мне также нужно проверить, является ли наследование общедоступным, как это можно достичь?
Для справки, вот урезанная версия класса, у меня есть 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()
{
}
};