有没有办法将 lambda 的签名推导为 mpl 序列?
有没有办法将 c++0x lambda 的签名、结果和参数类型推导为 Boost.MPL 序列,例如 boost::mpl::vector?例如,对于 lambda, []( float a, int b ) -> …
将 boost::mpl::list 应用于类型的模板参数
我有一个需要 boost::variant 的类,其中包含指向各种类型的共享指针,如下所示: template class ToyPicker { typedef std::pair< ToySharedPtrVaria…
连接 boost::mpl::string
如何连接 boost::mpl::string? 以下代码产生错误: #include #include #include #include #include #include typedef boost::mpl::vector< boost::mp…
在STL容器中存储属性?
假设我有一个名为 generic_pair 的类,其形式为: template struct generic_pair{ K key; V value; }; 现在,问题是我希望能够在 STL 容器中存储一堆…
是否可以在运行时迭代 mpl::vector 而无需实例化向量中的类型?
一般来说,我会使用 boost::mpl::for_each<>() 来遍历 boost::mpl::vector,但这需要一个带有模板的函子函数声明如下: template; void operator()(T&…
C++ - 将类型映射到枚举
可以使编译时 Type ->枚举系列映射? 用一个例子来说明: 比方说,我有一些 Type 和一个枚举值: typedef int Type; enum Enumerated { Enum1, Enum2,…
使用 boost::mpl::lambda 基于 static const 成员变量从 boost::mpl::list 中删除类型
我有一个类型列表定义为: typedef boost::mpl::list OriginalList; 我想创建第二个不包含任何水果的列表,即从第一个列表形成的结果列表将包含单个类…
如何将 mpl::transform 应用于 mpl::string?
我正在尝试将转换应用于 mpl::string,但无法编译它。我正在使用 MS VC++2010 和 Boost 1.43.0。代码: #include #include #include #include #includ…
如何循环访问 boost::mpl::list?
这是我所得到的, #include #include namespace mpl = boost::mpl; class RunAround {}; class HopUpAndDown {}; class Sleep {}; template int doThi…
c++递归 mpl::equal 问题?
我需要一个 mpl::equal 类似的过程来支持类型递归。 namespace mpl = boost::mpl; BOOST_MPL_ASSERT(( mpl::equal< mpl::vector, typename mpl::push_…
在 C++ 中对任意长度的类型列表进行模板化;
这是我希望能够输入的内容: class foo : public watchKeys {}; //Or any list of keys Boost::mpl 有序列,允许您执行此操作,但我不想必须这样做: …
如何将 boost::mpl::fold 与 boost::fusion::map 一起使用?
当我尝试编译此文件时: #include #include int main(int argc, char** argv) { typedef boost::fusion::map < boost::fusion::pair, boost::fusion::…
是否可以使用模板参数的所有组合生成类型?
我有一个模板类 template class S { //... implementations }; 和一些类型 U、V 和 W 的库存类型实现: typedef boost::mpl::vector u_types; typedef…
遍历 boost::mpl::list 的惯用方法是什么?
编辑:我已经编辑了示例以更好地类似于我遇到的问题,现在该函数依赖于常规参数(而不仅仅是模板参数),这意味着计算不能 在编译时进行。 我用手写了…