だから私は変換する関数を考え出そうとしています;
std::pair<T,std::pair<U, V>>
データ型をstd::tuple
;
std::tuple<T,U,V>
任意の数の混合型引数を使用して、一般的なケースで機能するはずです。ペアの形式は次のとおりです。
- 「車」は常にタイプになります。
- 「cdr」は常に
std::pair
、- 'cdr' が型自体になる最も内側のケースを除きます
(ただしstd::pair
、型は任意であるため、これはそれ自体である可能性があります)。
- 'cdr' が型自体になる最も内側のケースを除きます
取得する引数の数と型は、可変個引数のテンプレート引数によって事前にわかっています。
現在の進行状況はやや低く、いくつかのことを試していますが、必要なコードはこれらの線に沿っているようです。
std::make_tuple(get<0>(pair), get<0>(get<1>(pair), get<0>(get<1>(get<1>(pair), ..., get<1>(pair)))));
しかし、私はこれを自動的に生成する方法を見つけることができないようです.私はSequence<int...>
アプローチを試みました.通常のgetメソッドを使用して、これらを使用して複数回検索しますか?