使用 boost::mpl,我如何获得有多少模板类不是“空”,并用这个数字调用一些宏?
我想根据 boost::mpl::eval_if (或类似函数)的结果来调用带有一些参数的宏,这些参数可以给出有多少个模板参数不为空。假设我们有一些如下所示的伪…
Visual Studio 2010 模拟“g++”是什么? -E 文件.cxx`?
有没有,我们可以在IDE中看到结果吗? 因此,我尝试使用 boost 预处理器的代码示例,此处显示(!警告 - 俄语): #include #include #include #inclu…
哪个 boost 宏允许我在程序中插入可变数量的语句
假设我想实现以下示例效果: if (i) j--; 现在我想在程序中重复插入该行任意多次。如果我想插入该语句 1000 次,那么我必须手动复制粘贴它。 目的是在…
如何将宏展开的结果分离为不同的参数?
我正在编写一些 Boost.Preprocessor 元程序,但遇到以下问题。考虑以下宏(这是为了说明问题而进行的简化): #define ITERATION_IMPL(p1, p2, p3, p4…
C++通用编程的微妙之处
我遇到的问题如下面的代码所示。 #include #define X 4 int main() { std::cout << "should be 4: " << X << std::endl; #define Y X + 4 std::cout <…
Boost.Preprocessor 是独立的吗?
我正在考虑在某些项目中使用 Boost.Preprocessor,但我不想使整个 Boost 库成为依赖项。 我可以单独复制它并逃脱惩罚吗?否则,它的依赖是什么?…
我可以附加到预处理器宏吗?
标准 C 或 GNU 扩展中是否有任何方法可以将内容附加到宏定义中? 例如,给定一个定义为的宏 #define List foo bar 我可以附加 bas 以便它 List 扩展,…
如何使用 cmake 使用 boost.wave 作为预处理器
我正在尝试使用 boost.wave 作为预处理器,而不是编译器附带的预处理器。我无法弄清楚如何实现这一目标。 我使用 CMake 作为构建系统生成器,如何指定…
Boost 预处理器:示例不起作用
我尝试从 Boost.Preprocessor 库,它是: #include #define SEQ (a)(b)(d) BOOST_PP_SEQ_INSERT(SEQ, 2, c) // expands to (a)(b)(c)(d) 在 Visual St…
在编译时获取 boost::function arity?
我需要根据 boost::function 对象的数量(参数计数)在 BOOST_PP_IF 语句中做出决定。这可能吗? boost::function_types::function_arity 做了我正在…