以mpl序列累积项目

时间:2015-02-01 03:49:50

标签: c++ boost-mpl

是否可以编写元函数来累积mpl序列中的项目?

通过这个,我的意思是:

// ops.h
using boost::mpl;
using op_list = vector<>;

using add_op = <<<Method I'm asking about>>>;

...

// some_ops.h
#include "ops.h"
add_op<first_op>;
add_op<second_op>;
...

// more_ops.h
# include "ops.h"
add_op<third_op>;
...

// ops.cc
#include "ops.h"
#include "some_ops.h"
#include "more_ops.h"

// here op_list = vector<first_op, second_op, third_op>;

using Variant = boost::make_variant_over<op_list>::type;

我似乎无法想办法在几个包含上累积类型。

替代方法是测试类型是否已定义的方法(类似于#ifdef,但对于类型)。这样,子列表可以折叠,如果定义的话。

感谢您的帮助!

0 个答案:

没有答案