Blender V4.3
BLI_utildefines_variadic.h File Reference

Go to the source code of this file.

Macros

#define _VA_NARGS_GLUE(x, y)   x y
 
#define _VA_NARGS_RETURN_COUNT(_1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_, _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, _21_, _22_, _23_, _24_, _25_, _26_, _27_, _28_, _29_, _30_, _31_, _32_, _33_, _34_, _35_, _36_, _37_, _38_, _39_, _40_, _41_, _42_, _43_, _44_, _45_, _46_, _47_, _48_, _49_, _50_, _51_, _52_, _53_, _54_, _55_, _56_, _57_, _58_, _59_, _60_, _61_, _62_, _63_, _64_, count, ...)   count
 
#define _VA_NARGS_EXPAND(args)   _VA_NARGS_RETURN_COUNT args
 
#define _VA_NARGS_OVERLOAD_MACRO2(name, count)   name##count
 
#define _VA_NARGS_OVERLOAD_MACRO1(name, count)   _VA_NARGS_OVERLOAD_MACRO2(name, count)
 
#define _VA_NARGS_OVERLOAD_MACRO(name, count)   _VA_NARGS_OVERLOAD_MACRO1(name, count)
 
#define VA_NARGS_COUNT(...)
 
#define VA_NARGS_CALL_OVERLOAD(name, ...)    _VA_NARGS_GLUE(_VA_NARGS_OVERLOAD_MACRO(name, VA_NARGS_COUNT(__VA_ARGS__)), (__VA_ARGS__))
 

Macro Definition Documentation

◆ _VA_NARGS_EXPAND

#define _VA_NARGS_EXPAND ( args)    _VA_NARGS_RETURN_COUNT args

Definition at line 22 of file BLI_utildefines_variadic.h.

◆ _VA_NARGS_GLUE

#define _VA_NARGS_GLUE ( x,
y )   x y

Definition at line 15 of file BLI_utildefines_variadic.h.

◆ _VA_NARGS_OVERLOAD_MACRO

#define _VA_NARGS_OVERLOAD_MACRO ( name,
count )   _VA_NARGS_OVERLOAD_MACRO1(name, count)

Definition at line 25 of file BLI_utildefines_variadic.h.

◆ _VA_NARGS_OVERLOAD_MACRO1

#define _VA_NARGS_OVERLOAD_MACRO1 ( name,
count )   _VA_NARGS_OVERLOAD_MACRO2(name, count)

Definition at line 24 of file BLI_utildefines_variadic.h.

◆ _VA_NARGS_OVERLOAD_MACRO2

#define _VA_NARGS_OVERLOAD_MACRO2 ( name,
count )   name##count

Definition at line 23 of file BLI_utildefines_variadic.h.

◆ _VA_NARGS_RETURN_COUNT

#define _VA_NARGS_RETURN_COUNT ( _1_,
_2_,
_3_,
_4_,
_5_,
_6_,
_7_,
_8_,
_9_,
_10_,
_11_,
_12_,
_13_,
_14_,
_15_,
_16_,
_17_,
_18_,
_19_,
_20_,
_21_,
_22_,
_23_,
_24_,
_25_,
_26_,
_27_,
_28_,
_29_,
_30_,
_31_,
_32_,
_33_,
_34_,
_35_,
_36_,
_37_,
_38_,
_39_,
_40_,
_41_,
_42_,
_43_,
_44_,
_45_,
_46_,
_47_,
_48_,
_49_,
_50_,
_51_,
_52_,
_53_,
_54_,
_55_,
_56_,
_57_,
_58_,
_59_,
_60_,
_61_,
_62_,
_63_,
_64_,
count,
... )   count

Definition at line 16 of file BLI_utildefines_variadic.h.

◆ VA_NARGS_CALL_OVERLOAD

#define VA_NARGS_CALL_OVERLOAD ( name,
... )    _VA_NARGS_GLUE(_VA_NARGS_OVERLOAD_MACRO(name, VA_NARGS_COUNT(__VA_ARGS__)), (__VA_ARGS__))

Definition at line 33 of file BLI_utildefines_variadic.h.

◆ VA_NARGS_COUNT

#define VA_NARGS_COUNT ( ...)
Value:
_VA_NARGS_EXPAND((__VA_ARGS__, \
64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, \
48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, \
32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, \
16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))
#define _VA_NARGS_EXPAND(args)

Definition at line 28 of file BLI_utildefines_variadic.h.