可変個引数クラステンプレートが別のクラスのベースであるかどうかを確認したいと思います。通常はstd::is_base_ofを使用しますが、私のユースケースは適切ではないと思います。また、これを処理するためのstdまたはboostにすでに何かがあるかどうかはわかりません。可変個引数の基本クラステンプレートのパラメータパックを別の可変個引数のクラステンプレートから取得したいと思います。これが私がやりたいことをうまく説明するいくつかのサンプルコードです:
使用法:
is_variadic_base_of<
VarClassTemplA
, ClassDerivedFromA
, VarClassTemplB //Has param pack I want to use with ClassA
>::value;
根性:
//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>
{};
これは可能ですか?