Skip to content

AUI_PP_NARG0#

Evaluates to the number of arguments after expansion. Identifies 'empty' as 0.

Header:#include <AUI/Util/APreprocessor.h>
CMake:aui_link(my_target PUBLIC aui::core)

Definition#

#define AUI_PP_NARG0(...) \
  AUI_PP_IF(AUI_PP_IS_EMPTY(__VA_ARGS__), 0, AUI_PP_NARG(__VA_ARGS__))

Detailed Description#

#define PAIR x, y

AUI_PP_NARG0() => 0
AUI_PP_NARG0(x) => 1
AUI_PP_NARG0(x, y) => 2
AUI_PP_NARG0(PAIR) => 2

Requires: - the number of arguments after expansion is at most 15. - If the argument is a macro, it must be able to be called with one argument.