Herhangi bir değişken sınıf sınıf şablonunun başka bir sınıfın temeli olup olmadığını belirlemek istiyorum. Tipik olarak std :: is_base_of kullanırım, ama kullanım durumumun uygun olduğunu düşünmüyorum ve bunu yapmak için std veya boostta bir şey olup olmadığından emin değilim. Variadic temel sınıf şablonunun parametre paketinin başka bir variadic sınıf şablonundan gelmesini istiyorum.Variadic şablon parametre paketini ayıklayın ve bir tür özellik meta işlevinde başka bir değişken şablonda kullanın?
Kullanımı:
is_variadic_base_of<
VarClassTemplA
, ClassDerivedFromA
, VarClassTemplB //Has param pack I want to use with ClassA
>::value;
Guts:
//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 mümkün mü İşte bazı örnek kod umarım ben yapmak istediğim şey açıklıyor öyle?
Değil emin bir şey değiştirir, ama VarTemplClassB '' küçük düzenlemeyi yaptık, şimdi var sadece 'VarTemplClassB'. –
@Johannes: Boo, bir kaç saniye! :( – Xeo
Lol, kaç tane permütasyon yaptığımı bilmiyorum ve buna inanamadım. Mükemmel çalışıyor .. Teşekkürler! –