diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-03-28 07:18:19 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-03-28 07:18:19 -0700 |
commit | 307209981bb26d3472f5eea98b4174278a1ada0e (patch) | |
tree | 60860d220d9d02983c7c58233fc547d5a94c226d /cppawk-include/narg-priv.h | |
parent | a215e15e32255c7c48a6c5a52fda1199da1235f9 (diff) | |
download | cppawk-307209981bb26d3472f5eea98b4174278a1ada0e.tar.gz cppawk-307209981bb26d3472f5eea98b4174278a1ada0e.tar.bz2 cppawk-307209981bb26d3472f5eea98b4174278a1ada0e.zip |
Simplify definition of variadic macros.
Diffstat (limited to 'cppawk-include/narg-priv.h')
-rw-r--r-- | cppawk-include/narg-priv.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cppawk-include/narg-priv.h b/cppawk-include/narg-priv.h index 92065aa..2e1ac8c 100644 --- a/cppawk-include/narg-priv.h +++ b/cppawk-include/narg-priv.h @@ -28,6 +28,10 @@ #ifndef __CPPAWK_NARG_PRIV_H #define __CPPAWK_NARG_PRIV_H +#ifndef __CPPAWK_BASE_H +#include "base.h" +#endif + #define __narg_34(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, \ A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, \ A26, A27, A28, A29, A30, A31, A32, A33, N, ...) N @@ -324,4 +328,10 @@ mac2(a23) mac2(a24) mac2(a25) mac2(a26) mac2(a27) mac2(a28) mac2(a29) \ mac2(a30) mac2(a31) mac2(a32) +#define __varexpand_simple(mac, ...) \ + __xcat(__rep_, __narg(__VA_ARGS__)) (mac, __VA_ARGS__) + +#define __varexpand_infix(mac1, mac2, ...) \ + __xcat(__repi_, __narg(__VA_ARGS__)) (mac1, mac2, __VA_ARGS__) + #endif |