问题标签 [boost-hana]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
860 浏览

c++ - Boost hana 获取第一个匹配的索引

因此,我正在尝试使用boost::hana该库创建一个库,该库需要基于值获取元素索引的功能:

有没有可能的方法来做到这一点?更好的是,它已经在hana我不知道了吗?

感谢您的支持!

0 投票
1 回答
178 浏览

c++ - Why is boost::hana's set not default constructable?

today I found that boost::hana's map and set aren't default constructable, while the tuple is. Is there any particular reason for this because it is quite annoying.

This

fails with the following error:

even though it is perfectly valid to have an empty map or set:

Which compiles flawlessly.

Any help is appreciated.

EDIT:

It doesn't actually matter if it is empty, it is always illegal to default construct maps and sets.

0 投票
1 回答
551 浏览

c++ - STL 和 Hana 元组之间的转换

完成此操作的hana方式是什么?我意识到我可以使用:hana::make_tuple(std::ref(x), std::ref(y), std::ref(z)),但这似乎不必要地冗长。

0 投票
1 回答
318 浏览

c++ - 检查元组类型是否是彼此的子集

假设我有 2 个未实例化的元组。有没有一种惯用的方法来检查一组是否是另一组的子集?

如果这需要另一种类型而不是hana::tuple_c,这也很好。实际上,我当前的输入由 组成std::tuple,但我无法让它工作。

不起作用的代码(但我觉得应该有类似的可能):

我目前的解决方法boost::mpl是做一个交集,然后比较结果。这可行,但我对纯boost::hana解决方案感兴趣:

0 投票
4 回答
753 浏览

c++ - 如何为 Hana 序列编写 for 循环?

我有一个 Boos.Hana 序列,我想将它打印到屏幕上,用逗号分隔。但是逗号仅分隔元素,所以我必须检查我是否在最后一个元素。

目前我的 hack 非常糟糕(查看指针并转换为void*.

在 Boost.Fusion 的情况下,它更复杂,因为我使用了融合迭代器(boost::fusion::beginboost::fusion::end),但至少我可以比较迭代器。( bool last = result_of::equal_to<typename result_of::next<First>::type, Last>::value)。

问这个问题的另一种方法是 Hana 中是否有(元)迭代器。

0 投票
1 回答
420 浏览

c++ - C++:使用 boost::hana 将数组元素扩展为函数的参数

我在两个月前发现了 boost::hana。看起来很强大,所以我决定看看。从文档中我看到了这个例子:

这相当于:

我想知道是否有可能(如果是的话如何)像这样写:

编译时的一种“解包”,甚至:

0 投票
1 回答
944 浏览

c++ - Boost.Hana:如何检查函数是否具有特定类型的专业化?

我有一个模板函数,默认情况下没有定义,但它专门用于某些类型:

如何编写一个 constexpr 函数来告诉我类型 T 是否具有上述函数的特化?

我的最大努力:

然而,这个静态断言会触发,如果我做对了,我希望它不会触发。

0 投票
1 回答
127 浏览

c++ - 访问 tuple_t 的类型

我有这个代码:

这输出:

我想访问 'char*' 类型,但如果我这样做:

它输出:

这是因为它是一个参考,如果我这样做:

然后它输出'char *'。

这是访问 tuple_t 类型的方法吗?必须有不那么繁琐的方法。

0 投票
1 回答
93 浏览

c++ - 在集合中寻找一个值

我有以下代码:

如何获得特定类型的值?:

像 'mySet[char*]' 什么的。设置是否适用于此,还是我必须使用地图?

0 投票
1 回答
107 浏览

c++ - 有没有办法获取地图类型?

我有以下代码:

有没有办法事先知道“myMap”的类型?我尝试使用:

但它失败了,因为 decltype(myMap) 是 hana::map< implementation-defined >。是否有一种“result_of”元函数可以提供 imp 定义的类型?喜欢:

我需要存储类成员映射的类型。