您能否分享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/