Men har qanday variadik sinf shablonini boshqa sinfning asosi ekanligini aniqlamoqchiman. Odatda men std::is_base_of dan foydalanardim, lekin mening foydalanish holatim mos emas deb o'ylayman va buni hal qilish uchun std yoki boost-da allaqachon biror narsa bor-yo'qligiga ishonchim komil emas. Men variadic asosiy sinf shablonining parametrlar to'plami boshqa variadik sinf shablonidan kelishini xohlayman. Mana, men nima qilishni xohlayotganimni tushuntiradigan ba'zi bir misol kodlari:
Foydalanish:
is_variadic_base_of<
VarClassTemplA
, ClassDerivedFromA
, VarClassTemplB //Has param pack I want to use with ClassA
>::value;
Ichaklar:
//test for variadic base of non-variadic
template <template<typename...> class A, typename B, typename... ArgsC>
struct is_variadic_base_of
: std::is_base_of<A<ArgsC...>, B>
{};
Bu mumkinmi?