loki タイプリストの可変個引数テンプレート ラッパーを実装しようとしています。
loki スタイルで 2 つのタイプリストをマージするのは簡単ですが、可変長テンプレート スタイルでのマージには問題があります。
これは私の実装です(単純化され、 push_back 、 index_of 、...、メソッドなし)。
template<typename... Ts>
struct dl32TypeList;
template<typename HEAD , typename... TAIL>
struct dl32TypeList<HEAD,TAIL...>
{
static const unsigned int size = sizeof...(TAIL) + 1;
using value = dl32Loki_like_TypeList<HEAD, typename dl32TypeList<TAIL...>::value>;
};
template<>
struct dl32TypeList<>
{
using value = dl32NoType;
static const unsignedint size = 0;
};
私は次のようなものが欲しい:
template<typename OTHER_TYPELIST>
using merge = dl32TypeList<HEAD , TAIL... , typename OTHER_TYPELIST::???>;
そして、これが問題です: 可変個引数のテンプレート引数を using/typedef として格納することはできないため、これを行う方法について何か考えがあります。(OTHER_TYPELIST::??? に注意してください)。