boost-fusion相关内容
在C ++ 03中如何在编译时获得所选结构的成员数?我正在试验BOOST_FUSION_ADAPT_STRUCT,但我没有得到任何工作示例。 编辑: 我想在编译时生成switch语句,每个成员一个病例。所以让我们说我们有3个成员的结构,然后我想生成这个开关: switch(val) { case 0: break; case 1: break; case 2:
..
我试图获取一个qi :: rule来发布一个结构BOOST_FUSION_ADAPT_STRUCT基于boost employee示例。 我有以下结构及其关联的融合宏: struct LineOnCommand { int lineNum; std :: vector humpType; }; BOOST_FUSION_ADAPT_STRUCT(
..
我有一个重载的函数,它看起来像: template std :: string getColumn(size_t i){ if(i == 0) return“first” else return“other”; } 模板 int get
..
我试图将字符串解析为自定义类型符号的属性,其中包含 std :: string 成员。我想我可以使用 BOOST_FUSION_ADAPT_STRUCT 这里但是不起作用。 如果我声明规则为 rule 它工作。如果我把它定义为 rule 它失败,错误“没有类型名称 value_t
..
我有一个Boos.Hana序列,我想打印它到屏幕,用逗号分隔。但是逗号只分开元素,所以我必须检查我是否在最后一个元素。 目前我的黑客是非常糟糕的(看着指针,并转换到 void * 。 template decltype(auto)operator
..
我有一个Boos.Hana序列,我想打印它到屏幕,用逗号分隔。但是逗号只分开元素,所以我必须检查我是否在最后一个元素。 目前我的黑客是非常糟糕的(看着指针,并转换到 void * 。 template decltype(auto)operator
..
首先,请对与我上一个问题的相似性道歉,这里,但我不认为我问正确的事。 我有一个方法: template void some_method(T& T) {...} 其采用要在运行时确定的类型 fusion :: vector 在另一个中的一个调用中的向量和向量 > 我想用如下动态填充此向
..
我正在从文件读取对象的类型: 枚举类type_index {...} type_index typeidx = read(file_handle,type_index {}); 根据类型索引,我想创建一个类型,并使用它做一些通用的(每个类型相同的通用代码): std :: tuple possible_typ
..
我一直在尝试使用一些boost融合的东西来写一个常规的c结构到文件。 XML文件似乎是捕获数据并使其与其他工具兼容或手动可编辑的好方法。它似乎我几乎有它,但一些根本似乎失踪。 我使用的东西非常类似于boost :: fusion快速入门页面: http://www.boost.org/doc/libs/1_54_0/libs/fusion/doc/html/fusion/quick_start.
..
两个 stackoverflow 答案建议使用fusion adapt_struct来迭代结构字段的方法。方法看起来不错。但是,如何迭代到一个本身是一个结构体的字段? 按照前面的答案,我想出了下面的代码。问题是在“#if 0”子句的代码不编译。作为一个替代解决方案,我创建了“decode()”函数,以获取一个void指针到目标参数。这是可行的,但在编译时丢失类型信息。有更好的解决方案吗?
..
我有一个与Spirit Qi的编译问题,它抱怨* value_type *不是标识符的成员。由于某些原因,Qi的属性系统将标识符视为容器类型,并尝试枚举其值类型。 这是一个类似于
..
这是一些code我写的一个简化版本: 的#include<&iostream的GT;#包括LT&;提升/ MPL / vector.hpp> #包括LT&;提升/ MPL / contains.hpp> #包括LT&;提升/ MPL / placeholders.hpp> #包括LT&;升压/融合/有/ filter_if.hpp> #包括LT&;升压/融合/有/
..
我想声明一个自我指涉的树一样,是对数据的结构可以容纳的类型模板结构。我遇到编译错误,试图声明提振融合模板适应定义这种结构时。谁能帮助? 的#include<&iostream的GT; #包括LT&;串GT; #包括LT&;内存和GT; #包括LT&;矢量>#包括LT&;升压/ lexical_cast.hpp> #包括LT&;升压/ dynamic_bitset.hpp>
..
的#include<&iostream的GT; #包括LT&;矢量> #包括LT&;串GT; #包括LT&;升压/精神/有/ qi.hpp> #包括LT&;升压/融合/有/ adapt_struct.hpp> #包括LT&;升压/融合/有/ io.hpp>命名空间补气=的boost ::精神::补气; 结构VectorWrapper { 的std ::矢量&l
..
这问题是一个后续
..
我想在个人项目中使用的boost ::融合(升压v1.42.0)。我得到一个有趣的错误与此code: 的#include“助推/融合/有/ sequence.hpp” #包括“升压/融合/有/ make_vector.hpp” #包括“升压/融合/有/ insert.hpp” #包括“升压/融合/有/ invoke_procedure.hpp” #包括“升压/融合/有/ make_vector.
..
我有一个使用捆绑像以下属性一个boost ::图: 结构顶点 { 性病::字符串ID; }; 如果我想使用的boost :: dynamic_properties的信息(例如,用于graphml幅面打印),我可以使用类似的东西:模板< typename的T> 标准::字符串我的prettyPrinter(常量T& T公司);诠释的main() { 使用名字
..
编辑:这原来是用临时的问题。基本上,我是无知使用C ++,如果它的工作就像Java或C#,它没有。我们希望,这将是一个很好的警示。 编辑:这个问题似乎只与 joint_view 和的shared_ptr 组合发生。裸指针似乎相同的情况下,以做工精细,在构建W /所有的项目在一次普通的融合容器做共享指针,无所添加到它。详情如下: 的我使用MinGW的GCC 4.5.1 的 使用升压融合容器(S
..
我想一个C ++模板结构感谢
..
我有一个Boos.Hana序列和我想打印屏幕用逗号分隔。然而,逗号分隔的元素而已,所以我要检查,如果我在最后一个元素。 目前我劈为pretty坏(看着指针,铸造无效* 。 模板< P类,类... TS> decltype(自动)运营商下;≤( 的std :: ostream的&放大器;操作系统, 提高::花::元组LT; TS ...>常量和放大器;第三方物流
..