MISRA_NARG
Description
Count the number of arguments in a variadic macro pack, 0 through 16. Requires __VA_OPT__ (C23 / current GCC, clang, MSVC).
Usage: MISRA_NARG(a, b, c) -> 3, MISRA_NARG() -> 0.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Types.h:771:
/// concatenation in `MISRA_OVERLOAD__`.
///
#define MISRA_OVERLOAD(name, ...) MISRA_OVERLOAD_(name, MISRA_NARG(__VA_ARGS__), __VA_ARGS__)
#define MISRA_OVERLOAD_(name, N, ...) MISRA_OVERLOAD__(name, N, __VA_ARGS__)
#define MISRA_OVERLOAD__(name, N, ...) CONCAT(name##_, N)(__VA_ARGS__)
Last updated on