问题标签 [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++11 - Clang 3.6.0 在尝试编译“hana/example/core/is_a.cpp”时崩溃
尝试从https://github.com/ldionne/hana最新来源(截至今天)编译 Boost.Hana 库。期间发生崩溃make examples
。是最新的源-编译器组合有问题,还是我没有真正安装所需的编译器版本(Hana 需要 Clang 中的一些最新错误修复)?我对 OS X 还很陌生,所以在设置编译器和库时有些吃力,并且不知道如何正确配置 cmake 以使用新安装的 clang 进行构建。
我已经通过 Homebrew 安装了 clang:
当我尝试只使用新安装的编译器时,构建失败,因为它找不到“cstdio”标头。
所以我还从 github 克隆了“libcxx”并更改了 CMakeCache.txt 中的设置:
这是我现在在崩溃输出中得到的引用make examples
:
c++ - 创建具有不可移动/不可复制类型的 hana 元组
我正试图围绕着伟大的 boost::hana 并试图弄清楚如何翻译一些老式的元组代码。
也许它有点特别,但我的类型既不可复制也不可移动,并且想将它们打包在容器中。考虑政策设计...
我想我只是不知道如何在价值世界中创建一个 hana 元组。我尝试的方式不起作用,因为make<Tuple>(CompT{}...)
需要可复制或至少可移动的类型。
所以很可能这不是这样做的方法。还是这是hana的限制?
谢谢!
c++ - 是否可以反省使用 Boost Hana 的方法?
Boost Hana提供了以简单而美观的方式自省类成员字段的能力:
但是,文档仅提及 member fields。我也想反省一下方法。我试图用一种方法天真地扩展这个例子:
这编译。但是,一旦我尝试使用它,使用类似于上面的代码(for_each
...),我就会得到很多编译错误。由于没有显示方法自省的示例,我想知道它是否受支持。
c++ - 通过引用提升 hana fold_left lamba 调用
我想遍历一个多图(地图的地图),例如:map<int,map<char, string>>
在 boost hana 的帮助下。Lamba 函数at
不能采用引用类型&map
(编译错误:非常量引用),因此,我无法在多映射中加载或存储元素。
是否可以像我一样用 boost::hana 解决这个问题?还是有其他方法?
更新1:
没有hana 的先前解决方案需要参数包。但我需要一个接受键作为元组的函数。
c++ - 提升元组类型的hana大小
我知道如何获取元组对象的大小,boost::hana
如下所示:
但是元组类型的大小呢?stl 已经提供了以下元组类型特征:
hana 中是否有类似的类型特征?
c++ - 是否可以使用 Boost.Hana 反序列化?
我开始使用 Boost.Hana,想知道是否有办法反序列化回 Boost.Hana 已知的 Struct。例如,我知道将这样的 Struct 序列化为 json 字符串非常简单,但我没有找到任何关于其他方式的信息。目前是不可能用 Boost.Hana 反序列化数据还是我错过了什么?
c++ - 为什么`boost::hana::range_c`不是序列?
我想hana::zip
在hana::tuple
and上使用hana::range_c
,但hana::range_c
不被认为是Sequence,这是hana::zip
. 这个决定背后的原因是什么?在尊重该决定的同时,我如何(惯用地)实现我的目标?
c++ - 使用 Boost.Hana 定义编译时 Comparable 对象
我正在努力将用户定义的类型作为hana::map
. 我遇到一种static_assert
说法,即必须在编译时进行比较。我确实实现constexpr bool operator==
了(我相信)所有这些的组合。有什么问题?由于 my operator==
is constexpr
,我的对象应该在编译时具有可比性,对吧?
c++ - Hana:如何从变体创建类型元组?
如果我有一个变体,像这样:
有没有一种简单的方法可以将变体可以包含的类型提取到 Boost.Hana 元组中,以便以下内容成立:
c++ - 在 boost hana 中过滤元组
我不确定我是否正确使用了 boost hana,但contains
似乎有效。
为什么大小为ht1
0?