如何将宏展开的结果分离为不同的参数?
我正在编写一些 Boost.Preprocessor 元程序,但遇到以下问题。考虑以下宏(这是为了说明问题而进行的简化): #define ITERATION_IMPL(p1, p2, p3, p4…
C++通用编程的微妙之处
我遇到的问题如下面的代码所示。 #include <iostream> #define X 4 int main() { std::cout << "should be 4: " << X << std::endl #…
Boost.Preprocessor 是独立的吗?
我正在考虑在某些项目中使用 Boost.Preprocessor,但我不想使整个 Boost 库成为依赖项。 我可以单独复制它并逃脱惩罚吗?否则,它的依赖是什么?…
我可以附加到预处理器宏吗?
标准 C 或 GNU 扩展中是否有任何方法可以将内容附加到宏定义中? 例如,给定一个定义为的宏 #define List foo bar 我可以附加 bas 以便它 List 扩展,…
如何使用 cmake 使用 boost.wave 作为预处理器
我正在尝试使用 boost.wave 作为预处理器,而不是编译器附带的预处理器。我无法弄清楚如何实现这一目标。 我使用 CMake 作为构建系统生成器,如何指定…
Boost 预处理器:示例不起作用
我尝试从 Boost.Preprocessor 库,它是: #include <boost/preprocessor/seq/insert.hpp> #define SEQ (a)(b)(d) BOOST_PP_SEQ_INSERT(SEQ, 2, c)…
在编译时获取 boost::function arity?
我需要根据 boost::function 对象的数量(参数计数)在 BOOST_PP_IF 语句中做出决定。这可能吗? boost::function_types::function_arity 做了我正在…
C 预处理器宏:检查 token 是否已声明
这是针对 C 预处理器专家的: 我如何声明一个带有一些标识符列表的 enum ,然后在 switch 语句中检查列表中是否包含标识符? 我需要的示例: typedef …
Boost 预处理器库,用于基于 C++/CLI 中的基本类型列表(例如 PointI32、PointF32 等)生成一组类型
我试图弄清楚如何使用 Boost.Preprocessor 库 http:// www.boost.org/doc/libs/release/libs/preprocessor 为不同的特定类型展开“通用”类型。下面我…