使用boost::mp11实现列表元素的复制和过滤
在STL中,提供了各种操作容器的算法,但是对于元编程的场景,STL并不能完全适用。boost::mp11这个库提供了类型列表的操纵,包括插入、查找、筛选等一系列操作,极大地方便了元编程的实现。
本文将介绍boost::mp11中的mp_copy_if_q函数,它可以根据自定义的type trait,复制一个类型列表中符合条件的元素,并返回新的类型列表。以下是一个简单的示例代码:
#include <type_traits>
#include <boost/mp11.hpp>
template