使用boost::mp11::mp_set_union集合运算
boost::mp11是一个元编程库,其中包含了MP11算法,可以用于元类型算法和类型列表算法。在这个库中,mp_set_union是一个可用于将两个集合进行并集操作的算法。
下面我们可以通过一个简单的实例来了解mp_set_union的使用方法。
假设我们有两个集合,分别为set1和set2,我们希望将这两个集合进行合并,同时去掉重复的元素,得到一个新的集合result_set。
示例代码如下:
#include <boost/mp11.hpp>
#include <type_traits>
#include
using namespace boost::mp11;
// 定义两个集合
using set1 = mp_list<int, char, double>;
using set2 = mp_list<double, bool, int>;
// 合并两个集合并去重
using result_set = mp_set_union<set1, set2>;
// 输出result_set
int main() {
std::cout << std::boolalpha;
std::cout << "result_set siz