Update doc
This commit is contained in:
1 parent
60399f25ec
commit
e316c2fc01
1 file changed
+17
@@ -1393,6 +1393,14 @@ how the macro preprocessing works.
|
|||||||
It also adds the needed macro for handling the oplist.
|
It also adds the needed macro for handling the oplist.
|
||||||
As a consequence, it is needed by all other header files.
|
As a consequence, it is needed by all other header files.
|
||||||
|
|
||||||
|
Some macros are using recursivity to work.
|
||||||
|
This is not an easy feat to do as it needs some tricks to work (see
|
||||||
|
reference).
|
||||||
|
This still work well with only one major limitation: it can not be chained.
|
||||||
|
For example, if MACRO is a macro implementing recursivity, then
|
||||||
|
MACRO(MACRO()) won't work.
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
M_MAP(f, 1, 2, 3, 4)
|
M_MAP(f, 1, 2, 3, 4)
|
||||||
@@ -1567,6 +1575,15 @@ of the sequence (using recursivity).
|
|||||||
Return the number of argument of the given list.
|
Return the number of argument of the given list.
|
||||||
Doesn't work for empty argument.
|
Doesn't work for empty argument.
|
||||||
|
|
||||||
|
##### M\_IF\_NARGS\_EQ1(argslist)(action_if_one_arg, action_otherwise)
|
||||||
|
|
||||||
|
Return the pre-processing token 'action_if_one_arg' if 'argslist' has only one argument, action\_otherwise otherwise
|
||||||
|
(meaning it is evaluated at macro processing stage, not at compiler stage).
|
||||||
|
|
||||||
|
##### M\_IF\_NARGS\_EQ2(argslist)(action_if_two_arg, action_otherwise)
|
||||||
|
|
||||||
|
Return the pre-processing token 'action_if_two_arg' if 'argslist' has two arguments, action\_otherwise otherwise
|
||||||
|
(meaning it is evaluated at macro processing stage, not at compiler stage).
|
||||||
|
|
||||||
TODO: Document the API.
|
TODO: Document the API.
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user