boost-mpl相关内容
对于这么简单的问题,很抱歉,但我找不到答案很容易。 Google对于“C ++ negation integral_constant”和类似的查询没有什么有趣的。 在C ++ 11中有任何特性使 std :: true_type 从 std :: false_type ,反之亦然?换句话说,我想要更多的readeble版本 std :: is_same
..
我如何连接boost :: mpl :: string? 以下代码产生错误: #include #include #include #include #include
..
我有以下示例: #include #include struct one {}; struct two {}; struct three {}; struct four {}; struct five {fi
..
我目前正在开发OpenSolaris 2009-06。 Boost :: MPL文档似乎暗示sun编译器是不支持(文档最后更新于2004年)。 Boost的顶级文档似乎暗示支持太阳编译器5.10以上 - 我想这是一个一般级别的支持,或者包括MPL?有没有人有任何细节的C ++一致性的太阳5.10编译器的状态? 我总是可以使用GCC编译。 解决方案 没有提供确切的答案,我必须自己张贴一
..
我想知道是否可以使用boost :: mpl / preprocessor或一些noce C ++ 11功能来从类类型和函数名称创建函数代理。 说我们有: inline void set_email(const :: std :: string& value); inline void set_email(const char * value); 我们知道有se
..
所以想象我们有一个mpl :: vector,我们要打印(cout例如)它作为这样的字符串: int,string,char 。如何做这样的事情与boost :: mpl? 解决方案 创建一个函子并调用boost :: for_each: struct print_class_name { template void operator()(T t)c
..
我想为生成序列化/反序列化代码 class Object { string a; int b; long c; char d; }; 通过查看mpl序列,但我需要能够识别对象,好吧,我不知道如何得到它的成员的名字,我必须知道吗? 代码应该看像 void SerializeObject(ostream os) { serializ
..
我是新的metafunctions。我想写一个函数,将某种类型的所有匹配替换为某种其他类型的复合类型。例如:替换应为 int * , replace :: type 应为 int 等。 $ b b 我基本上用两种不同的方法失败了: 模板 typename C,//要搜索的类型 typename X,//搜索的“Needle” typename Y
..
因为你可以将整数值作为模板参数并对它们执行算术,boost :: mpl :: int_和其他积分常量的动机是什么?这个动机仍然适用于C ++ 11? 解决方案 你可以把整数值作为模板参数, 类型和非类型模板参数。长篇小说,将非类型模板参数视为类型允许它们与 MPL 中的无数东西一起使用。 > 例如,考虑一个与类型一起使用的元函数 find ,并在序列中寻找一个等号类型。如果您希
..
因为你可以将整数值作为模板参数并对它们执行算术,boost :: mpl :: int_和其他积分常量的动机是什么?这个动机仍然适用于C ++ 11? 解决方案 你可以把整数值作为模板参数, 类型和非类型模板参数。长篇小说,将非类型模板参数视为类型允许它们与 MPL 中的无数东西一起使用。 > 例如,考虑一个与类型一起使用的元函数 find ,并在序列中寻找一个等号类型。如果您希
..
我有一个类A,它有一个模板参数T.有一些用例,类T提供了一个函数func1(),有一些用例,T不提供它。 A中的函数f()应该调用func1(),iff它存在。我认为这应该是可能的提升mpl,但我不知道如何。 这里有一些伪代码: template class A { void f(T param) { if(T :: func1是现有函数) para
..
我有一个类A,它有一个模板参数T.有一些用例,类T提供了一个函数func1(),有一些用例,T不提供它。 A中的函数f()应该调用func1(),iff它存在。我认为这应该是可能的提升mpl,但我不知道如何。 这里有一些伪代码: template class A { void f(T param) { if(T :: func1是现有函数) para
..
boost :: mpl 算法似乎无法处理 std :: tuple 类型框,例如,以下不编译(boost-1.46.0,g ++快照2011-02-19): #include #include #include 命名空间mpl = boost ::
..
是否有一种方法来推导c ++ 0x lambda的签名,结果和参数类型作为Boost.MPL序列,例如 boost :: mpl :: vector ?例如,对于lambda [](float a,int b) - > void {std :: cout
..
这是一些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&;提升/ MPL / for_each.hpp> #包括LT&;提升/ MPL / list.hpp>结构有一个{}; 结构2 {}; 结构3 {}; 结构4 {}; 结构5 {五()=删除; };模板< typename的T> 无效的print() { 性病::法院LT&;&
..
我使用Boost 1.57与Visual Studio 2010。 我想我的项目升级到Visual Studio 2013,但我有一些问题,升压精神分析器。 在我看来,该的 KWD 的解析器以某种方式打破。下面code编译正确Visual Studio 2010中: 的#include<升压/精神/有/ qi.hpp> #包括LT&;升压/精神/有/ phoenix_core.h
..
我有一个名为caRender类,它提供1个caRender :: renderClientObject()每个给定的对象类型clientObjectTypes方法。所以下面code剪断显示了这种运行情况: 的#define未使用(X)(无效)(X)TYPEDEF提振:: MPL ::矢量<型号:: ClientModel :: cClientVerticesObject,
..
有在的的BOOST MPL文档找到算法: 的typedef矢量<字符,整型,无符号长,无符号长>类型; typedef的查找和LT;类型,无符号> ::类型ITER; ... BOOST_MPL_ASSERT_RELATION(ITER :: POS ::价值,== 2); 不过,我找不到迭代器的 POS 元函数的文档。我可以可靠地使用它吗? 我想以某种方式使用它作为:的t
..
我如何可以连接的boost :: MPL :: string的? 下面code产生错误: 的#include<&iostream的GT; #包括LT&;提升/ MPL / vector.hpp> #包括LT&;提升/ MPL / string.hpp> #包括LT&;提升/ MPL / fold.hpp> #包括LT&;提升/ MPL / placeholders.hp
..