1

我正在搜索某种元向量/链表。似乎 mpl::vector 是最好的方法。但现在有hana。不幸的是,我找不到某种 hana::vector。我看到了一个用于 mpl::vector 的适配器,仅此而已。所以这意味着 mpl::vector 仍然是最好的做事方式?

Hana 编译得很快,所以我想:为什么不呢?但是 mpl 并没有那么快,我真的需要自己编写 mpl::vector 代码吗?

4

1 回答 1

3

boost::hana::tuplempl::vector如果您需要的是类型/值的异构“列表”,应该是一个足够好的替代品。

您可以使用 访问特定索引中的项目,使用boost::hana::at附加项目boost::hana::append,使用 删除它们boost::hana::remove等等。

即使与mpl::vector' 的接口没有一对一的对应关系,在给定上述原语的情况下实现一些实用功能也应该是微不足道的。


如果你需要一个类型列表,你应该使用boost::hana::tuple_t,它是 . 的语法糖hana::tuple(hana::type_c<Types>...)

于 2017-01-05T14:48:24.730 回答