hana::for_each
でタプルを反復処理すると、実際のオブジェクトにアクセスする方法が見つかりませんでした。 a
のboost :: hana :: tupleを反復する
struct A {
std::string name;
}
struct B {
std::string name;
}
using type_t = decltype(boost::hana::tuple_t<A, B>);
type_t names;
boost::hana::for_each(names, [&](const auto& a) {
std::cout << a.name << std::endl;
});
タイプhana::tuple_impl<...>
ように表示され、その基になる型decltype(std::decay_t<a>)::type
に、キャスト可能ではないと思われます。
基本的には、同じインターフェイスを持ちながら異なる値を持つテンプレートオブジェクト(コンテナ)のリストを繰り返し処理したいと考えています。これを達成するためのより良い方法は歓迎です。
私はこの 'decltype(ブースト::花:: tuple_t を)'疑います。これは何を意味するのでしょうか? 'tuple_t ' a *型*自身はありませんか? – Nawaz
@Nawazドキュメンテーションは、その使用法は 'auto types = hana :: tuple_t;'だから、C++ 14の変数テンプレートだと思います。 http://www.boost.org/doc/libs/1_61_0/libs/hana/doc/html/index.html –
Etherealone