c++ - Boost::MPL 的实际使用示例?

标签 c++ boost boost-mpl

您能否分享Boost::MPL 的任何真实示例?用法(lambdas除外),只是为了让我更好地了解它的用途和实际使用领域? MPL 文档教程有一个 dimensional analysis示例,但可能因为它是一个学术示例,它并没有让我感觉到 Boost::MPL 以及何时可以有效使用。

最佳答案

我使用 Boost.Mpl 来生成类似变体的类。

例如,给定一个 MPL 类型列表,如下所示:

typedef boost::mpl::set<Foo, Bar, Baz> type_set;

然后我使用 boost::mpl::fold 构建一个从彼此派生的类链,每个类都添加类型集中其中一种类型的 std::unordered_set。最终结果是一个包含 unordered_set<Foo>unordered_set<Bar>unordered_set<Baz> 的类。

由于该类是根据 boost::mpl::set 指定的,因此我可以遍历这些类型以自动生成其他函数,例如比较所有 operator==unordered_set

关于c++ - Boost::MPL 的实际使用示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4638935/

相关文章:

c++ - 松耦合隐式转换

c++ - boost-mpl 比较迭代器

c++ - 没有什么可发布的,八叉树是空的

javascript - Emscripten webworker - 自己的消息和依赖项

C++ - 如何键入别名、typedef 或包装 boost::variant?

c++ - Cmake 对 `boost::gregorian::greg_month::as_short_string() const' 的 undefined reference

c++ - 从 Boost 进程间共享内存中检索共享 vector

c++ - 指向用于绑定(bind)的友元运算符重载的函数指针

c++ - `std::count_if` 的二进制谓词不起作用

c++ - 如何交换 mpl::vector 的两个元素?