cppx-core
|
Mostly this is a concession to the idiosyncracies of Visual C++, which still as of its 2017 version is unable to count __VA_ARGS__
as n arguments, and instead counts it as 1. Mostly. But as David Wheeler remarked, one extra level of indirection is the solution to any computer science problem.
More...
Go to the source code of this file.
Macros | |
#define | invoke_macro CPPX_INVOKE_MACRO |
Real name: $invoke_macro (the $ is just removed by Doxygen). More... | |
#define | invoke_macro_b CPPX_INVOKE_MACRO_B |
Real name: $invoke_macro_b (the $ is just removed by Doxygen). More... | |
#define | CPPX_INVOKE_MACRO(m, arglist) |
Invokes the specified macro with the specified arguments list. More... | |
#define | CPPX_INVOKE_MACRO_B(m, arglist) |
Invokes the specified macro with the specified arguments list. More... | |
Mostly this is a concession to the idiosyncracies of Visual C++, which still as of its 2017 version is unable to count __VA_ARGS__
as n arguments, and instead counts it as 1. Mostly. But as David Wheeler remarked, one extra level of indirection is the solution to any computer science problem.
Definition in file macro-invoke_macro.hpp.
#define CPPX_INVOKE_MACRO | ( | m, | |
arglist | |||
) |
Invokes the specified macro with the specified arguments list.
m | The name of a macro to invoke. |
arglist | A parenthesized list of arguments. Can be empty. |
Definition at line 17 of file macro-invoke_macro.hpp.
#define CPPX_INVOKE_MACRO_B | ( | m, | |
arglist | |||
) |
Invokes the specified macro with the specified arguments list.
m | The name of a macro to invoke. |
arglist | A parenthesized list of arguments. Can be empty. |
The only difference between CPPX_INVOKE_MACRO
and CPPX_INVOKE_MACRO_B
is that they're different macros. One may have to use both in order to guarantee macro expansion in certain (not very well defined) situations. E.g. see <cppx-core/meta-macro/macro-apply.hpp>.
Definition at line 29 of file macro-invoke_macro.hpp.
#define invoke_macro CPPX_INVOKE_MACRO |
Real name: $invoke_macro
(the $
is just removed by Doxygen).
Definition at line 8 of file macro-invoke_macro.hpp.
#define invoke_macro_b CPPX_INVOKE_MACRO_B |
Real name: $invoke_macro_b
(the $
is just removed by Doxygen).
Definition at line 9 of file macro-invoke_macro.hpp.