Я пытаюсь реализовать расширение для std :: is_base_of для шаблонных классов, например, если у меня есть следующее:
template <typename X, typename Y, int Z> class A {};
template <typename X> class B : public A<X, char, 2> {};
Я могу использовать что-то вроде
std::is_base_of_ext<A, B<int>>
для статической проверки того, что An является базовым классом из B, независимо от конкретных параметров шаблона и способа, которым B специализируется из A.
" std :: is_base_of для шаблонных классов " обеспечивает очень хорошее решение для этого, но оно работает только с параметрами шаблона типа; можно ли сделать так, чтобы он работал с нетиповыми параметрами?