Я не смог найти способ доступа к реальному объекту с помощью hana::for_each
итерации по кортежам.Итерация над 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;
});
Тип a
, как представляется, hana::tuple_impl<...>
и, кажется, не-литьевой его базового типа decltype(std::decay_t<a>)::type
.
Я в основном хочу перебирать список шаблонных объектов (контейнеров), которые имеют один и тот же интерфейс, но содержат разные значения. Лучше всего это сделать.
Я сомневаюсь, что это 'decltype (повышение :: HANA :: tuple_t )'. Что это значит? Не 'tuple_t ' a * type * сам? – 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