私はhana::tuple_t<int, char, double, float>
を持っています。これを使ってhana::tuple<int, char, double, float>
を作成します。hana :: tuple_tからhana :: tupleに行く
私はhana::to<hana::tuple_tag>
を使用するとhana::tuple_t<int, char, double, float>
をhana::tuple<int, char, double, float>
に変換すると考えました。次は必ず失敗するので、それはそうではありません。
auto oType = hana::tuple_t<int, char, double, float>;
BOOST_HANA_CONSTANT_ASSERT(
hana::to<hana::tuple_tag>(oType)
==
hana::make_tuple(1, 'C', 1.0, 1.0f)
);
私もhana::transform
を使用してみましたが、運(私は私が間違ってそれをやっている疑いがある)としました:
auto vecs = hana::transform(typeList, [](auto t) {
return typename decltype(t)::type{};
});
だから、どうすればhana :: tuple_tをhana :: tupleに変えることができますか?
デフォルトの初期化では、「1」(または「1.0」または「C」)ではなく「0」の値が生成されます。これをタプル 'hana :: make_tuple(0、 '\ 0'、0.0、0.0f)'と比較しようとしましたか? – Cornstalks
ええ、私はそれを試みました。重大度\t \t static_assertが失敗しました "hana :: to(oType)== hana :: make_tuple(0、0.0、0.0f)" –
Acorn