8 #ifndef INCLUDED_eastdarg_H
9 #define INCLUDED_eastdarg_H
12 #include <EABase/eabase.h>
27 #if !defined(VA_ARG_COUNT)
28 #define VA_ARG_COUNT(...) VA_ARG_COUNT_II((VA_ARG_COUNT_PREFIX_ ## __VA_ARGS__ ## _VA_ARG_COUNT_POSTFIX,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))
29 #define VA_ARG_COUNT_II(__args) VA_ARG_COUNT_I __args
30 #define VA_ARG_COUNT_PREFIX__VA_ARG_COUNT_POSTFIX ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
31 #define VA_ARG_COUNT_I(_0,_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,N,...) N
53 #if defined(__va_copy)
54 #define va_copy(dest, src) __va_copy((dest), (src))
58 #define va_copy(dest, src) memcpy(&(dest), &(src), sizeof(va_list))
83 #ifndef va_list_reference
84 #if defined(EA_PLATFORM_MICROSOFT) || (EA_PLATFORM_PTR_SIZE == 4) || (defined(EA_PLATFORM_APPLE) && defined(EA_PROCESSOR_ARM64)) || defined(CS_UNDEFINED_STRING) || (defined(EA_PLATFORM_ANDROID) && defined(EA_PROCESSOR_ARM64))
86 #define va_list_reference va_list&
89 #define va_list_reference va_list