首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代boost::hana::tuple

迭代boost::hana::tuple
EN

Stack Overflow用户
提问于 2016-10-04 14:08:59
回答 1查看 1.6K关注 0票数 2

我找不到一种使用hana::for_each在元组上迭代访问真实对象的方法。

代码语言:javascript
复制
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似乎是不可转换的。

我基本上希望迭代具有相同接口但包含不同值的模板对象(容器)列表。实现这一目标的更好方法是值得欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 14:25:59

tuple_thana::type的一个元组。您想要一个普通对象的tuple,它就是tuple

代码语言:javascript
复制
boost::hana::tuple<A, B> names;
boost::hana::for_each(names, [&](const auto& x) {
    std::cout << x.name << std::endl;
});
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39854510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档