Я не мог найти способ получить доступ к реальному объекту с hana::for_each
итерацией по кортежам.
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(boost::hana::tuple_t<A, B>)
. Что это значит? Развеtuple_t<A,B>
не является типом? - person Nawaz   schedule 04.10.2016auto types = hana::tuple_t<int*, char&, void>;
Так что я думаю, что это шаблон переменной С++ 14. boost.org/doc/libs/1_61_0/ libs/hana/doc/html/index.html - person Etherealone   schedule 04.10.2016