问题标签 [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.
c++ - boost hana 将两个序列压缩到地图中
我想将这两个大小相等的序列相互映射。但是,我似乎无法理解如何通过以下hana::map
功能获得它:
无论我进行什么转换,我似乎都无法创建映射。我知道地图要求其元素属于产品概念,但我似乎无法理解(甚至理解)关于压缩结构的行为。
有什么我可以做的,或者我做错了什么?
今天正在运行gcc version 6.0.0 20160320
和hana version 0.7.0
最后一次获取
c++ - Boost.Hana 中是否有与 Boost.Fusion 中的 View 概念等效的东西?
我试图迭代用户定义的结构hana::for_each
并注意到它被复制/移动,同时Boost.Fusion
允许您就地迭代原始结构。
我没有从in 中找到类似View
概念的东西。如何将转换应用于序列而不每次都复制/移动它们?Boost.Fusion
Boost.Hana
更新:我尝试使用hana::transform
来申请std::ref
成员,但Struct
不是 a Functior
,因此transform
在这种情况下不适用。我能够使用 实现所需的行为hana::accessors
,但对我来说它看起来有点 hacky。我希望有一种方法可以创建视图。
c++ - 在`boost::hana::map`中更新/替换地图值的规范方法
在a 中更新值(给定键和新值)boost::hana::map
的规范方法是什么?
我尝试使用boost::hana::replace_if
但它不起作用,map
因为它不是 a Functor
- 我可以通过将 a 转换map
为 atuple
然后再转换回 a来使其工作map
,但这听起来效率低下。
我目前正在使用的替代方法是调用map::erase_key
后跟map::insert
.
是否有为此目的而设计的任何功能replace
或功能我可能会丢失?update
或者这是更新值的“规范”方式?
c++ - Get the type of a function parameter with boost::hana
I know how to get the type of a function's parameter the old way, but I was wondering if there is a nice new way to do it with Hana? For example, I want something like this:
How do I get the TYPE
here?
c++ - 使用boost hana定义结构编译错误
我从 boost hana 开始,目前在编写基本程序时遇到了这个编译问题:
我正在使用最新的 gcc 编译器(6.1),我得到的编译器错误是
这很奇怪,因为当我查看标题时,boost/hana/detail/preprocessor.hpp
(上面包含的文件struct_macros.hpp
)确实包含此宏定义。
编辑:宏是可怕的。:( 看看第一个答案。
c++ - 字符串作为键和类型作为值的 C++ 映射
在 boost 库中是否有boost-hana的替代方法,它可以让我创建类似的东西
我使用了boost-fusion,但我找不到适合我的用例的解决方案,即字符串到类型的映射。
c++ - boost::hana 元组解包可变参数模板实例化
与这个问题相关,我想知道这样的事情是否可以使用 boost::hana 以一种简单的方式实现:
c++ - Checking for a specific nested type/tag with boost hana
Having fun with boost::hana. I wish to check for a specific nested type that acts like a tag in another type, so I borrow from hana::when_valid example and defined a class is_S along with its SFINAE-enabled specialization:
This prints:
Is there a simpler/shorter/more succinct way of writing the same check, in keeping with value-type computation of hana philosophy?
c++ - Boost hana 在集合中查找类型
新手boost::hana
并尝试一个简单的实验来在一组类型中找到一个类型并打印它的typeid.name
. 但是我收到 static_assert 错误(注意:Xcode 7.2.1)
这是代码:
错误是:
"hana::adjust(xs, value, f) 要求 'xs' 是一个 Functor");
然而,这似乎与调整xs
需要成为结构的状态的文档不一致。
任何建议都表示赞赏,因为我认为我在理解中遗漏了一些基本的东西。
c++ - 在 C++ 中根据运行时字符串选择模板
我有一个可以容纳不同类型的属性向量:
基于类型的运行时输入,我想创建适当的数据结构。伪代码:
显然,这失败了。一个简单但丑陋且不可维护的解决方法是运行时切换/链接,如果:
我读到了关于函子的运行时多态性,但发现它对于一个概念上很简单的任务来说相当复杂。
完成这项工作的最佳和最干净的方法是什么?我玩了一下boost::hana
,发现虽然我可以创建从字符串到类型的映射,但查找只能在编译时完成:
所有可能的类型在编译时都是已知的。任何建议都受到高度赞赏。在一个完美的解决方案中,我会在一个地方创建名称-> 类型映射。之后,我会这样使用它
这种魔法不需要在编译时发生。我的目标是拥有尽可能易读的代码。