Initial Commit

This commit is contained in:
Reece Wilson 2021-10-05 21:14:54 +01:00
commit 14d3b0a465
4 changed files with 1057 additions and 0 deletions

941
AuroraForEach.hpp Normal file
View File

@ -0,0 +1,941 @@
/**
* X-Macro alternative. Defines AU_FE_N(expandable, ...args*N)
* Autogenerated by forEach.js; do not modify"
*/
#define AU_FE_EXPAND(exp) exp
#define AU_FE_0(prefix)
#define AU_FE_1(prefix, X0) prefix(X0) AU_FE_EXPAND(AU_FE_0(prefix))
#define AU_FE_2(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_3(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_4(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_5(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_6(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_7(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_8(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_9(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_10(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_11(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_12(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_13(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_14(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_15(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_16(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_17(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_18(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_19(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_20(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_21(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_22(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_23(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_24(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_25(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_26(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_27(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_28(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_29(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_30(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_31(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_32(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_33(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_34(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_35(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_36(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_37(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_38(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_39(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_40(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_41(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_42(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_43(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_44(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_45(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_46(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_47(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_48(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_49(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_50(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_51(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_52(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_53(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_54(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_55(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_56(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_57(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_58(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_59(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_60(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_61(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_62(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_63(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_64(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_65(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_66(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_67(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_68(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_69(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_70(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_71(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_72(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_73(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_74(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_75(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_76(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_77(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_78(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_79(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_80(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_81(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_82(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_83(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_84(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_85(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_86(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_87(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_88(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_89(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_90(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_91(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_92(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_93(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_94(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_95(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_96(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_97(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_98(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_99(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_GET_MACRO(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH(action, ...) AU_FE_EXPAND(AU_GET_MACRO(_whydoweneedthis, __VA_ARGS__, AU_FE_99, AU_FE_98, AU_FE_97, AU_FE_96, AU_FE_95, AU_FE_94, AU_FE_93, AU_FE_92, AU_FE_91, AU_FE_90, AU_FE_89, AU_FE_88, AU_FE_87, AU_FE_86, AU_FE_85, AU_FE_84, AU_FE_83, AU_FE_82, AU_FE_81, AU_FE_80, AU_FE_79, AU_FE_78, AU_FE_77, AU_FE_76, AU_FE_75, AU_FE_74, AU_FE_73, AU_FE_72, AU_FE_71, AU_FE_70, AU_FE_69, AU_FE_68, AU_FE_67, AU_FE_66, AU_FE_65, AU_FE_64, AU_FE_63, AU_FE_62, AU_FE_61, AU_FE_60, AU_FE_59, AU_FE_58, AU_FE_57, AU_FE_56, AU_FE_55, AU_FE_54, AU_FE_53, AU_FE_52, AU_FE_51, AU_FE_50, AU_FE_49, AU_FE_48, AU_FE_47, AU_FE_46, AU_FE_45, AU_FE_44, AU_FE_43, AU_FE_42, AU_FE_41, AU_FE_40, AU_FE_39, AU_FE_38, AU_FE_37, AU_FE_36, AU_FE_35, AU_FE_34, AU_FE_33, AU_FE_32, AU_FE_31, AU_FE_30, AU_FE_29, AU_FE_28, AU_FE_27, AU_FE_26, AU_FE_25, AU_FE_24, AU_FE_23, AU_FE_22, AU_FE_21, AU_FE_20, AU_FE_19, AU_FE_18, AU_FE_17, AU_FE_16, AU_FE_15, AU_FE_14, AU_FE_13, AU_FE_12, AU_FE_11, AU_FE_10, AU_FE_9, AU_FE_8, AU_FE_7, AU_FE_6, AU_FE_5, AU_FE_4, AU_FE_3, AU_FE_2, AU_FE_1, AU_FE_0)(action,__VA_ARGS__))
#define AU_FE_0_2(prefix)
#define AU_FE_1_2(prefix, X0, X1) prefix(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix))
#define AU_FE_1_2_REF(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix, __VA_ARGS__))
#define AU_FE_2_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix, __VA_ARGS__))
#define AU_FE_3_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_4_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_2_2(prefix, __VA_ARGS__))
#define AU_FE_5_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_6_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_4_2(prefix, __VA_ARGS__))
#define AU_FE_7_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_8_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_6_2(prefix, __VA_ARGS__))
#define AU_FE_9_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_10_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_8_2(prefix, __VA_ARGS__))
#define AU_FE_11_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_12_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_10_2(prefix, __VA_ARGS__))
#define AU_FE_13_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_14_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_12_2(prefix, __VA_ARGS__))
#define AU_FE_15_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_16_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_14_2(prefix, __VA_ARGS__))
#define AU_FE_17_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_18_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_16_2(prefix, __VA_ARGS__))
#define AU_FE_19_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_20_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_18_2(prefix, __VA_ARGS__))
#define AU_FE_21_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_22_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_20_2(prefix, __VA_ARGS__))
#define AU_FE_23_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_24_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_22_2(prefix, __VA_ARGS__))
#define AU_FE_25_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_26_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_24_2(prefix, __VA_ARGS__))
#define AU_FE_27_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_28_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_26_2(prefix, __VA_ARGS__))
#define AU_FE_29_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_30_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_28_2(prefix, __VA_ARGS__))
#define AU_FE_31_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_32_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_30_2(prefix, __VA_ARGS__))
#define AU_FE_33_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_34_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_32_2(prefix, __VA_ARGS__))
#define AU_FE_35_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_36_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_34_2(prefix, __VA_ARGS__))
#define AU_FE_37_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_38_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_36_2(prefix, __VA_ARGS__))
#define AU_FE_39_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_40_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_38_2(prefix, __VA_ARGS__))
#define AU_FE_41_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_42_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_40_2(prefix, __VA_ARGS__))
#define AU_FE_43_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_44_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_42_2(prefix, __VA_ARGS__))
#define AU_FE_45_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_46_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_44_2(prefix, __VA_ARGS__))
#define AU_FE_47_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_48_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_46_2(prefix, __VA_ARGS__))
#define AU_FE_49_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_50_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_48_2(prefix, __VA_ARGS__))
#define AU_FE_51_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_52_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_50_2(prefix, __VA_ARGS__))
#define AU_FE_53_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_54_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_52_2(prefix, __VA_ARGS__))
#define AU_FE_55_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_56_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_54_2(prefix, __VA_ARGS__))
#define AU_FE_57_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_58_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_56_2(prefix, __VA_ARGS__))
#define AU_FE_59_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_60_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_58_2(prefix, __VA_ARGS__))
#define AU_FE_61_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_62_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_60_2(prefix, __VA_ARGS__))
#define AU_FE_63_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_64_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_62_2(prefix, __VA_ARGS__))
#define AU_FE_65_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_66_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_64_2(prefix, __VA_ARGS__))
#define AU_FE_67_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_68_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_66_2(prefix, __VA_ARGS__))
#define AU_FE_69_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_70_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_68_2(prefix, __VA_ARGS__))
#define AU_FE_71_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_72_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_70_2(prefix, __VA_ARGS__))
#define AU_FE_73_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_74_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_72_2(prefix, __VA_ARGS__))
#define AU_FE_75_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_76_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_74_2(prefix, __VA_ARGS__))
#define AU_FE_77_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_78_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_76_2(prefix, __VA_ARGS__))
#define AU_FE_79_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_80_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_78_2(prefix, __VA_ARGS__))
#define AU_FE_81_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_82_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_80_2(prefix, __VA_ARGS__))
#define AU_FE_83_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_84_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_82_2(prefix, __VA_ARGS__))
#define AU_FE_85_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_86_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_84_2(prefix, __VA_ARGS__))
#define AU_FE_87_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_88_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_86_2(prefix, __VA_ARGS__))
#define AU_FE_89_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_90_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_88_2(prefix, __VA_ARGS__))
#define AU_FE_91_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_92_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_90_2(prefix, __VA_ARGS__))
#define AU_FE_93_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_94_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_92_2(prefix, __VA_ARGS__))
#define AU_FE_95_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_96_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_94_2(prefix, __VA_ARGS__))
#define AU_FE_97_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_FE_98_2(prefix, X0, X1, ...) prefix(X0, X1) AU_FE_EXPAND(AU_FE_96_2(prefix, __VA_ARGS__))
#define AU_FE_99_2(prefix, X0, X1, ...) #error Macro Jump Error
#define AU_GET_MACRO_2(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_2(action, ...) AU_FE_EXPAND(AU_GET_MACRO_2(_whydoweneedthis, __VA_ARGS__, AU_FE_99_2, AU_FE_98_2, AU_FE_97_2, AU_FE_96_2, AU_FE_95_2, AU_FE_94_2, AU_FE_93_2, AU_FE_92_2, AU_FE_91_2, AU_FE_90_2, AU_FE_89_2, AU_FE_88_2, AU_FE_87_2, AU_FE_86_2, AU_FE_85_2, AU_FE_84_2, AU_FE_83_2, AU_FE_82_2, AU_FE_81_2, AU_FE_80_2, AU_FE_79_2, AU_FE_78_2, AU_FE_77_2, AU_FE_76_2, AU_FE_75_2, AU_FE_74_2, AU_FE_73_2, AU_FE_72_2, AU_FE_71_2, AU_FE_70_2, AU_FE_69_2, AU_FE_68_2, AU_FE_67_2, AU_FE_66_2, AU_FE_65_2, AU_FE_64_2, AU_FE_63_2, AU_FE_62_2, AU_FE_61_2, AU_FE_60_2, AU_FE_59_2, AU_FE_58_2, AU_FE_57_2, AU_FE_56_2, AU_FE_55_2, AU_FE_54_2, AU_FE_53_2, AU_FE_52_2, AU_FE_51_2, AU_FE_50_2, AU_FE_49_2, AU_FE_48_2, AU_FE_47_2, AU_FE_46_2, AU_FE_45_2, AU_FE_44_2, AU_FE_43_2, AU_FE_42_2, AU_FE_41_2, AU_FE_40_2, AU_FE_39_2, AU_FE_38_2, AU_FE_37_2, AU_FE_36_2, AU_FE_35_2, AU_FE_34_2, AU_FE_33_2, AU_FE_32_2, AU_FE_31_2, AU_FE_30_2, AU_FE_29_2, AU_FE_28_2, AU_FE_27_2, AU_FE_26_2, AU_FE_25_2, AU_FE_24_2, AU_FE_23_2, AU_FE_22_2, AU_FE_21_2, AU_FE_20_2, AU_FE_19_2, AU_FE_18_2, AU_FE_17_2, AU_FE_16_2, AU_FE_15_2, AU_FE_14_2, AU_FE_13_2, AU_FE_12_2, AU_FE_11_2, AU_FE_10_2, AU_FE_9_2, AU_FE_8_2, AU_FE_7_2, AU_FE_6_2, AU_FE_5_2, AU_FE_4_2, AU_FE_3_2, AU_FE_2_2, AU_FE_1_2, AU_FE_0_2)(action,__VA_ARGS__))
#define AU_FE_0_3(prefix)
#define AU_FE_1_3(prefix, X0, X1, X2) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix))
#define AU_FE_1_3_REF(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix, __VA_ARGS__))
#define AU_FE_2_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_3_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix, __VA_ARGS__))
#define AU_FE_4_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_5_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_6_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_3_3(prefix, __VA_ARGS__))
#define AU_FE_7_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_8_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_9_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_6_3(prefix, __VA_ARGS__))
#define AU_FE_10_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_11_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_12_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_9_3(prefix, __VA_ARGS__))
#define AU_FE_13_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_14_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_15_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_12_3(prefix, __VA_ARGS__))
#define AU_FE_16_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_17_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_18_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_15_3(prefix, __VA_ARGS__))
#define AU_FE_19_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_20_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_21_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_18_3(prefix, __VA_ARGS__))
#define AU_FE_22_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_23_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_24_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_21_3(prefix, __VA_ARGS__))
#define AU_FE_25_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_26_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_27_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_24_3(prefix, __VA_ARGS__))
#define AU_FE_28_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_29_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_30_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_27_3(prefix, __VA_ARGS__))
#define AU_FE_31_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_32_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_33_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_30_3(prefix, __VA_ARGS__))
#define AU_FE_34_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_35_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_36_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_33_3(prefix, __VA_ARGS__))
#define AU_FE_37_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_38_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_39_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_36_3(prefix, __VA_ARGS__))
#define AU_FE_40_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_41_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_42_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_39_3(prefix, __VA_ARGS__))
#define AU_FE_43_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_44_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_45_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_42_3(prefix, __VA_ARGS__))
#define AU_FE_46_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_47_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_48_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_45_3(prefix, __VA_ARGS__))
#define AU_FE_49_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_50_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_51_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_48_3(prefix, __VA_ARGS__))
#define AU_FE_52_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_53_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_54_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_51_3(prefix, __VA_ARGS__))
#define AU_FE_55_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_56_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_57_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_54_3(prefix, __VA_ARGS__))
#define AU_FE_58_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_59_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_60_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_57_3(prefix, __VA_ARGS__))
#define AU_FE_61_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_62_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_63_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_60_3(prefix, __VA_ARGS__))
#define AU_FE_64_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_65_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_66_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_63_3(prefix, __VA_ARGS__))
#define AU_FE_67_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_68_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_69_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_66_3(prefix, __VA_ARGS__))
#define AU_FE_70_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_71_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_72_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_69_3(prefix, __VA_ARGS__))
#define AU_FE_73_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_74_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_75_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_72_3(prefix, __VA_ARGS__))
#define AU_FE_76_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_77_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_78_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_75_3(prefix, __VA_ARGS__))
#define AU_FE_79_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_80_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_81_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_78_3(prefix, __VA_ARGS__))
#define AU_FE_82_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_83_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_84_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_81_3(prefix, __VA_ARGS__))
#define AU_FE_85_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_86_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_87_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_84_3(prefix, __VA_ARGS__))
#define AU_FE_88_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_89_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_90_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_87_3(prefix, __VA_ARGS__))
#define AU_FE_91_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_92_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_93_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_90_3(prefix, __VA_ARGS__))
#define AU_FE_94_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_95_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_96_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_93_3(prefix, __VA_ARGS__))
#define AU_FE_97_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_98_3(prefix, X0, X1, X2, ...) #error Macro Jump Error
#define AU_FE_99_3(prefix, X0, X1, X2, ...) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_96_3(prefix, __VA_ARGS__))
#define AU_GET_MACRO_3(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_3(action, ...) AU_FE_EXPAND(AU_GET_MACRO_3(_whydoweneedthis, __VA_ARGS__, AU_FE_99_3, AU_FE_98_3, AU_FE_97_3, AU_FE_96_3, AU_FE_95_3, AU_FE_94_3, AU_FE_93_3, AU_FE_92_3, AU_FE_91_3, AU_FE_90_3, AU_FE_89_3, AU_FE_88_3, AU_FE_87_3, AU_FE_86_3, AU_FE_85_3, AU_FE_84_3, AU_FE_83_3, AU_FE_82_3, AU_FE_81_3, AU_FE_80_3, AU_FE_79_3, AU_FE_78_3, AU_FE_77_3, AU_FE_76_3, AU_FE_75_3, AU_FE_74_3, AU_FE_73_3, AU_FE_72_3, AU_FE_71_3, AU_FE_70_3, AU_FE_69_3, AU_FE_68_3, AU_FE_67_3, AU_FE_66_3, AU_FE_65_3, AU_FE_64_3, AU_FE_63_3, AU_FE_62_3, AU_FE_61_3, AU_FE_60_3, AU_FE_59_3, AU_FE_58_3, AU_FE_57_3, AU_FE_56_3, AU_FE_55_3, AU_FE_54_3, AU_FE_53_3, AU_FE_52_3, AU_FE_51_3, AU_FE_50_3, AU_FE_49_3, AU_FE_48_3, AU_FE_47_3, AU_FE_46_3, AU_FE_45_3, AU_FE_44_3, AU_FE_43_3, AU_FE_42_3, AU_FE_41_3, AU_FE_40_3, AU_FE_39_3, AU_FE_38_3, AU_FE_37_3, AU_FE_36_3, AU_FE_35_3, AU_FE_34_3, AU_FE_33_3, AU_FE_32_3, AU_FE_31_3, AU_FE_30_3, AU_FE_29_3, AU_FE_28_3, AU_FE_27_3, AU_FE_26_3, AU_FE_25_3, AU_FE_24_3, AU_FE_23_3, AU_FE_22_3, AU_FE_21_3, AU_FE_20_3, AU_FE_19_3, AU_FE_18_3, AU_FE_17_3, AU_FE_16_3, AU_FE_15_3, AU_FE_14_3, AU_FE_13_3, AU_FE_12_3, AU_FE_11_3, AU_FE_10_3, AU_FE_9_3, AU_FE_8_3, AU_FE_7_3, AU_FE_6_3, AU_FE_5_3, AU_FE_4_3, AU_FE_3_3, AU_FE_2_3, AU_FE_1_3, AU_FE_0_3)(action,__VA_ARGS__))
#define AU_FE_0_4(prefix)
#define AU_FE_1_4(prefix, X0, X1, X2, X3) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix))
#define AU_FE_1_4_REF(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix, __VA_ARGS__))
#define AU_FE_2_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_3_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_4_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix, __VA_ARGS__))
#define AU_FE_5_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_6_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_7_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_8_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_4_4(prefix, __VA_ARGS__))
#define AU_FE_9_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_10_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_11_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_12_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_8_4(prefix, __VA_ARGS__))
#define AU_FE_13_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_14_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_15_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_16_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_12_4(prefix, __VA_ARGS__))
#define AU_FE_17_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_18_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_19_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_20_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_16_4(prefix, __VA_ARGS__))
#define AU_FE_21_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_22_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_23_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_24_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_20_4(prefix, __VA_ARGS__))
#define AU_FE_25_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_26_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_27_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_28_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_24_4(prefix, __VA_ARGS__))
#define AU_FE_29_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_30_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_31_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_32_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_28_4(prefix, __VA_ARGS__))
#define AU_FE_33_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_34_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_35_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_36_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_32_4(prefix, __VA_ARGS__))
#define AU_FE_37_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_38_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_39_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_40_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_36_4(prefix, __VA_ARGS__))
#define AU_FE_41_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_42_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_43_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_44_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_40_4(prefix, __VA_ARGS__))
#define AU_FE_45_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_46_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_47_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_48_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_44_4(prefix, __VA_ARGS__))
#define AU_FE_49_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_50_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_51_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_52_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_48_4(prefix, __VA_ARGS__))
#define AU_FE_53_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_54_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_55_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_56_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_52_4(prefix, __VA_ARGS__))
#define AU_FE_57_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_58_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_59_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_60_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_56_4(prefix, __VA_ARGS__))
#define AU_FE_61_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_62_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_63_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_64_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_60_4(prefix, __VA_ARGS__))
#define AU_FE_65_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_66_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_67_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_68_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_64_4(prefix, __VA_ARGS__))
#define AU_FE_69_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_70_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_71_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_72_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_68_4(prefix, __VA_ARGS__))
#define AU_FE_73_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_74_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_75_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_76_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_72_4(prefix, __VA_ARGS__))
#define AU_FE_77_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_78_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_79_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_80_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_76_4(prefix, __VA_ARGS__))
#define AU_FE_81_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_82_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_83_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_84_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_80_4(prefix, __VA_ARGS__))
#define AU_FE_85_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_86_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_87_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_88_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_84_4(prefix, __VA_ARGS__))
#define AU_FE_89_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_90_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_91_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_92_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_88_4(prefix, __VA_ARGS__))
#define AU_FE_93_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_94_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_95_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_96_4(prefix, X0, X1, X2, X3, ...) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_92_4(prefix, __VA_ARGS__))
#define AU_FE_97_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_98_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_FE_99_4(prefix, X0, X1, X2, X3, ...) #error Macro Jump Error
#define AU_GET_MACRO_4(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_4(action, ...) AU_FE_EXPAND(AU_GET_MACRO_4(_whydoweneedthis, __VA_ARGS__, AU_FE_99_4, AU_FE_98_4, AU_FE_97_4, AU_FE_96_4, AU_FE_95_4, AU_FE_94_4, AU_FE_93_4, AU_FE_92_4, AU_FE_91_4, AU_FE_90_4, AU_FE_89_4, AU_FE_88_4, AU_FE_87_4, AU_FE_86_4, AU_FE_85_4, AU_FE_84_4, AU_FE_83_4, AU_FE_82_4, AU_FE_81_4, AU_FE_80_4, AU_FE_79_4, AU_FE_78_4, AU_FE_77_4, AU_FE_76_4, AU_FE_75_4, AU_FE_74_4, AU_FE_73_4, AU_FE_72_4, AU_FE_71_4, AU_FE_70_4, AU_FE_69_4, AU_FE_68_4, AU_FE_67_4, AU_FE_66_4, AU_FE_65_4, AU_FE_64_4, AU_FE_63_4, AU_FE_62_4, AU_FE_61_4, AU_FE_60_4, AU_FE_59_4, AU_FE_58_4, AU_FE_57_4, AU_FE_56_4, AU_FE_55_4, AU_FE_54_4, AU_FE_53_4, AU_FE_52_4, AU_FE_51_4, AU_FE_50_4, AU_FE_49_4, AU_FE_48_4, AU_FE_47_4, AU_FE_46_4, AU_FE_45_4, AU_FE_44_4, AU_FE_43_4, AU_FE_42_4, AU_FE_41_4, AU_FE_40_4, AU_FE_39_4, AU_FE_38_4, AU_FE_37_4, AU_FE_36_4, AU_FE_35_4, AU_FE_34_4, AU_FE_33_4, AU_FE_32_4, AU_FE_31_4, AU_FE_30_4, AU_FE_29_4, AU_FE_28_4, AU_FE_27_4, AU_FE_26_4, AU_FE_25_4, AU_FE_24_4, AU_FE_23_4, AU_FE_22_4, AU_FE_21_4, AU_FE_20_4, AU_FE_19_4, AU_FE_18_4, AU_FE_17_4, AU_FE_16_4, AU_FE_15_4, AU_FE_14_4, AU_FE_13_4, AU_FE_12_4, AU_FE_11_4, AU_FE_10_4, AU_FE_9_4, AU_FE_8_4, AU_FE_7_4, AU_FE_6_4, AU_FE_5_4, AU_FE_4_4, AU_FE_3_4, AU_FE_2_4, AU_FE_1_4, AU_FE_0_4)(action,__VA_ARGS__))
#define AU_FE_0_5(prefix)
#define AU_FE_1_5(prefix, X0, X1, X2, X3, X4) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_0_5(prefix))
#define AU_FE_1_5_REF(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_0_5(prefix, __VA_ARGS__))
#define AU_FE_2_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_3_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_4_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_5_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_0_5(prefix, __VA_ARGS__))
#define AU_FE_6_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_7_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_8_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_9_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_10_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_5_5(prefix, __VA_ARGS__))
#define AU_FE_11_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_12_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_13_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_14_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_15_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_10_5(prefix, __VA_ARGS__))
#define AU_FE_16_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_17_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_18_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_19_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_20_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_15_5(prefix, __VA_ARGS__))
#define AU_FE_21_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_22_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_23_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_24_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_25_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_20_5(prefix, __VA_ARGS__))
#define AU_FE_26_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_27_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_28_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_29_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_30_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_25_5(prefix, __VA_ARGS__))
#define AU_FE_31_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_32_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_33_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_34_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_35_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_30_5(prefix, __VA_ARGS__))
#define AU_FE_36_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_37_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_38_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_39_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_40_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_35_5(prefix, __VA_ARGS__))
#define AU_FE_41_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_42_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_43_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_44_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_45_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_40_5(prefix, __VA_ARGS__))
#define AU_FE_46_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_47_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_48_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_49_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_50_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_45_5(prefix, __VA_ARGS__))
#define AU_FE_51_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_52_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_53_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_54_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_55_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_50_5(prefix, __VA_ARGS__))
#define AU_FE_56_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_57_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_58_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_59_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_60_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_55_5(prefix, __VA_ARGS__))
#define AU_FE_61_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_62_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_63_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_64_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_65_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_60_5(prefix, __VA_ARGS__))
#define AU_FE_66_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_67_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_68_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_69_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_70_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_65_5(prefix, __VA_ARGS__))
#define AU_FE_71_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_72_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_73_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_74_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_75_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_70_5(prefix, __VA_ARGS__))
#define AU_FE_76_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_77_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_78_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_79_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_80_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_75_5(prefix, __VA_ARGS__))
#define AU_FE_81_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_82_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_83_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_84_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_85_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_80_5(prefix, __VA_ARGS__))
#define AU_FE_86_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_87_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_88_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_89_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_90_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_85_5(prefix, __VA_ARGS__))
#define AU_FE_91_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_92_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_93_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_94_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_95_5(prefix, X0, X1, X2, X3, X4, ...) prefix(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_90_5(prefix, __VA_ARGS__))
#define AU_FE_96_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_97_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_98_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_FE_99_5(prefix, X0, X1, X2, X3, X4, ...) #error Macro Jump Error
#define AU_GET_MACRO_5(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_5(action, ...) AU_FE_EXPAND(AU_GET_MACRO_5(_whydoweneedthis, __VA_ARGS__, AU_FE_99_5, AU_FE_98_5, AU_FE_97_5, AU_FE_96_5, AU_FE_95_5, AU_FE_94_5, AU_FE_93_5, AU_FE_92_5, AU_FE_91_5, AU_FE_90_5, AU_FE_89_5, AU_FE_88_5, AU_FE_87_5, AU_FE_86_5, AU_FE_85_5, AU_FE_84_5, AU_FE_83_5, AU_FE_82_5, AU_FE_81_5, AU_FE_80_5, AU_FE_79_5, AU_FE_78_5, AU_FE_77_5, AU_FE_76_5, AU_FE_75_5, AU_FE_74_5, AU_FE_73_5, AU_FE_72_5, AU_FE_71_5, AU_FE_70_5, AU_FE_69_5, AU_FE_68_5, AU_FE_67_5, AU_FE_66_5, AU_FE_65_5, AU_FE_64_5, AU_FE_63_5, AU_FE_62_5, AU_FE_61_5, AU_FE_60_5, AU_FE_59_5, AU_FE_58_5, AU_FE_57_5, AU_FE_56_5, AU_FE_55_5, AU_FE_54_5, AU_FE_53_5, AU_FE_52_5, AU_FE_51_5, AU_FE_50_5, AU_FE_49_5, AU_FE_48_5, AU_FE_47_5, AU_FE_46_5, AU_FE_45_5, AU_FE_44_5, AU_FE_43_5, AU_FE_42_5, AU_FE_41_5, AU_FE_40_5, AU_FE_39_5, AU_FE_38_5, AU_FE_37_5, AU_FE_36_5, AU_FE_35_5, AU_FE_34_5, AU_FE_33_5, AU_FE_32_5, AU_FE_31_5, AU_FE_30_5, AU_FE_29_5, AU_FE_28_5, AU_FE_27_5, AU_FE_26_5, AU_FE_25_5, AU_FE_24_5, AU_FE_23_5, AU_FE_22_5, AU_FE_21_5, AU_FE_20_5, AU_FE_19_5, AU_FE_18_5, AU_FE_17_5, AU_FE_16_5, AU_FE_15_5, AU_FE_14_5, AU_FE_13_5, AU_FE_12_5, AU_FE_11_5, AU_FE_10_5, AU_FE_9_5, AU_FE_8_5, AU_FE_7_5, AU_FE_6_5, AU_FE_5_5, AU_FE_4_5, AU_FE_3_5, AU_FE_2_5, AU_FE_1_5, AU_FE_0_5)(action,__VA_ARGS__))
#define AU_FE_0_6(prefix)
#define AU_FE_1_6(prefix, X0, X1, X2, X3, X4, X5) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_0_6(prefix))
#define AU_FE_1_6_REF(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_0_6(prefix, __VA_ARGS__))
#define AU_FE_2_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_3_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_4_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_5_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_6_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_0_6(prefix, __VA_ARGS__))
#define AU_FE_7_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_8_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_9_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_10_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_11_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_12_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_6_6(prefix, __VA_ARGS__))
#define AU_FE_13_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_14_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_15_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_16_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_17_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_18_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_12_6(prefix, __VA_ARGS__))
#define AU_FE_19_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_20_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_21_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_22_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_23_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_24_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_18_6(prefix, __VA_ARGS__))
#define AU_FE_25_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_26_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_27_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_28_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_29_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_30_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_24_6(prefix, __VA_ARGS__))
#define AU_FE_31_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_32_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_33_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_34_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_35_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_36_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_30_6(prefix, __VA_ARGS__))
#define AU_FE_37_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_38_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_39_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_40_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_41_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_42_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_36_6(prefix, __VA_ARGS__))
#define AU_FE_43_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_44_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_45_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_46_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_47_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_48_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_42_6(prefix, __VA_ARGS__))
#define AU_FE_49_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_50_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_51_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_52_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_53_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_54_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_48_6(prefix, __VA_ARGS__))
#define AU_FE_55_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_56_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_57_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_58_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_59_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_60_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_54_6(prefix, __VA_ARGS__))
#define AU_FE_61_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_62_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_63_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_64_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_65_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_66_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_60_6(prefix, __VA_ARGS__))
#define AU_FE_67_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_68_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_69_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_70_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_71_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_72_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_66_6(prefix, __VA_ARGS__))
#define AU_FE_73_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_74_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_75_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_76_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_77_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_78_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_72_6(prefix, __VA_ARGS__))
#define AU_FE_79_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_80_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_81_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_82_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_83_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_84_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_78_6(prefix, __VA_ARGS__))
#define AU_FE_85_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_86_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_87_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_88_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_89_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_90_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_84_6(prefix, __VA_ARGS__))
#define AU_FE_91_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_92_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_93_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_94_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_95_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_96_6(prefix, X0, X1, X2, X3, X4, X5, ...) prefix(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_90_6(prefix, __VA_ARGS__))
#define AU_FE_97_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_98_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_FE_99_6(prefix, X0, X1, X2, X3, X4, X5, ...) #error Macro Jump Error
#define AU_GET_MACRO_6(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_6(action, ...) AU_FE_EXPAND(AU_GET_MACRO_6(_whydoweneedthis, __VA_ARGS__, AU_FE_99_6, AU_FE_98_6, AU_FE_97_6, AU_FE_96_6, AU_FE_95_6, AU_FE_94_6, AU_FE_93_6, AU_FE_92_6, AU_FE_91_6, AU_FE_90_6, AU_FE_89_6, AU_FE_88_6, AU_FE_87_6, AU_FE_86_6, AU_FE_85_6, AU_FE_84_6, AU_FE_83_6, AU_FE_82_6, AU_FE_81_6, AU_FE_80_6, AU_FE_79_6, AU_FE_78_6, AU_FE_77_6, AU_FE_76_6, AU_FE_75_6, AU_FE_74_6, AU_FE_73_6, AU_FE_72_6, AU_FE_71_6, AU_FE_70_6, AU_FE_69_6, AU_FE_68_6, AU_FE_67_6, AU_FE_66_6, AU_FE_65_6, AU_FE_64_6, AU_FE_63_6, AU_FE_62_6, AU_FE_61_6, AU_FE_60_6, AU_FE_59_6, AU_FE_58_6, AU_FE_57_6, AU_FE_56_6, AU_FE_55_6, AU_FE_54_6, AU_FE_53_6, AU_FE_52_6, AU_FE_51_6, AU_FE_50_6, AU_FE_49_6, AU_FE_48_6, AU_FE_47_6, AU_FE_46_6, AU_FE_45_6, AU_FE_44_6, AU_FE_43_6, AU_FE_42_6, AU_FE_41_6, AU_FE_40_6, AU_FE_39_6, AU_FE_38_6, AU_FE_37_6, AU_FE_36_6, AU_FE_35_6, AU_FE_34_6, AU_FE_33_6, AU_FE_32_6, AU_FE_31_6, AU_FE_30_6, AU_FE_29_6, AU_FE_28_6, AU_FE_27_6, AU_FE_26_6, AU_FE_25_6, AU_FE_24_6, AU_FE_23_6, AU_FE_22_6, AU_FE_21_6, AU_FE_20_6, AU_FE_19_6, AU_FE_18_6, AU_FE_17_6, AU_FE_16_6, AU_FE_15_6, AU_FE_14_6, AU_FE_13_6, AU_FE_12_6, AU_FE_11_6, AU_FE_10_6, AU_FE_9_6, AU_FE_8_6, AU_FE_7_6, AU_FE_6_6, AU_FE_5_6, AU_FE_4_6, AU_FE_3_6, AU_FE_2_6, AU_FE_1_6, AU_FE_0_6)(action,__VA_ARGS__))
#define AU_FE_0_7(prefix)
#define AU_FE_1_7(prefix, X0, X1, X2, X3, X4, X5, X6) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_0_7(prefix))
#define AU_FE_1_7_REF(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_0_7(prefix, __VA_ARGS__))
#define AU_FE_2_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_3_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_4_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_5_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_6_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_7_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_0_7(prefix, __VA_ARGS__))
#define AU_FE_8_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_9_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_10_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_11_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_12_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_13_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_14_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_7_7(prefix, __VA_ARGS__))
#define AU_FE_15_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_16_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_17_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_18_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_19_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_20_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_21_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_14_7(prefix, __VA_ARGS__))
#define AU_FE_22_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_23_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_24_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_25_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_26_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_27_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_28_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_21_7(prefix, __VA_ARGS__))
#define AU_FE_29_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_30_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_31_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_32_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_33_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_34_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_35_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_28_7(prefix, __VA_ARGS__))
#define AU_FE_36_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_37_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_38_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_39_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_40_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_41_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_42_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_35_7(prefix, __VA_ARGS__))
#define AU_FE_43_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_44_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_45_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_46_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_47_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_48_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_49_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_42_7(prefix, __VA_ARGS__))
#define AU_FE_50_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_51_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_52_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_53_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_54_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_55_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_56_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_49_7(prefix, __VA_ARGS__))
#define AU_FE_57_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_58_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_59_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_60_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_61_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_62_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_63_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_56_7(prefix, __VA_ARGS__))
#define AU_FE_64_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_65_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_66_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_67_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_68_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_69_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_70_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_63_7(prefix, __VA_ARGS__))
#define AU_FE_71_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_72_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_73_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_74_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_75_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_76_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_77_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_70_7(prefix, __VA_ARGS__))
#define AU_FE_78_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_79_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_80_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_81_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_82_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_83_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_84_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_77_7(prefix, __VA_ARGS__))
#define AU_FE_85_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_86_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_87_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_88_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_89_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_90_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_91_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_84_7(prefix, __VA_ARGS__))
#define AU_FE_92_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_93_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_94_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_95_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_96_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_97_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_FE_98_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) prefix(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_91_7(prefix, __VA_ARGS__))
#define AU_FE_99_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) #error Macro Jump Error
#define AU_GET_MACRO_7(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_7(action, ...) AU_FE_EXPAND(AU_GET_MACRO_7(_whydoweneedthis, __VA_ARGS__, AU_FE_99_7, AU_FE_98_7, AU_FE_97_7, AU_FE_96_7, AU_FE_95_7, AU_FE_94_7, AU_FE_93_7, AU_FE_92_7, AU_FE_91_7, AU_FE_90_7, AU_FE_89_7, AU_FE_88_7, AU_FE_87_7, AU_FE_86_7, AU_FE_85_7, AU_FE_84_7, AU_FE_83_7, AU_FE_82_7, AU_FE_81_7, AU_FE_80_7, AU_FE_79_7, AU_FE_78_7, AU_FE_77_7, AU_FE_76_7, AU_FE_75_7, AU_FE_74_7, AU_FE_73_7, AU_FE_72_7, AU_FE_71_7, AU_FE_70_7, AU_FE_69_7, AU_FE_68_7, AU_FE_67_7, AU_FE_66_7, AU_FE_65_7, AU_FE_64_7, AU_FE_63_7, AU_FE_62_7, AU_FE_61_7, AU_FE_60_7, AU_FE_59_7, AU_FE_58_7, AU_FE_57_7, AU_FE_56_7, AU_FE_55_7, AU_FE_54_7, AU_FE_53_7, AU_FE_52_7, AU_FE_51_7, AU_FE_50_7, AU_FE_49_7, AU_FE_48_7, AU_FE_47_7, AU_FE_46_7, AU_FE_45_7, AU_FE_44_7, AU_FE_43_7, AU_FE_42_7, AU_FE_41_7, AU_FE_40_7, AU_FE_39_7, AU_FE_38_7, AU_FE_37_7, AU_FE_36_7, AU_FE_35_7, AU_FE_34_7, AU_FE_33_7, AU_FE_32_7, AU_FE_31_7, AU_FE_30_7, AU_FE_29_7, AU_FE_28_7, AU_FE_27_7, AU_FE_26_7, AU_FE_25_7, AU_FE_24_7, AU_FE_23_7, AU_FE_22_7, AU_FE_21_7, AU_FE_20_7, AU_FE_19_7, AU_FE_18_7, AU_FE_17_7, AU_FE_16_7, AU_FE_15_7, AU_FE_14_7, AU_FE_13_7, AU_FE_12_7, AU_FE_11_7, AU_FE_10_7, AU_FE_9_7, AU_FE_8_7, AU_FE_7_7, AU_FE_6_7, AU_FE_5_7, AU_FE_4_7, AU_FE_3_7, AU_FE_2_7, AU_FE_1_7, AU_FE_0_7)(action,__VA_ARGS__))
#define AU_FE_0_8(prefix)
#define AU_FE_1_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_0_8(prefix))
#define AU_FE_1_8_REF(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_0_8(prefix, __VA_ARGS__))
#define AU_FE_2_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_3_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_4_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_5_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_6_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_7_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_8_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_0_8(prefix, __VA_ARGS__))
#define AU_FE_9_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_10_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_11_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_12_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_13_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_14_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_15_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_16_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_8_8(prefix, __VA_ARGS__))
#define AU_FE_17_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_18_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_19_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_20_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_21_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_22_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_23_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_24_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_16_8(prefix, __VA_ARGS__))
#define AU_FE_25_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_26_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_27_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_28_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_29_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_30_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_31_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_32_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_24_8(prefix, __VA_ARGS__))
#define AU_FE_33_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_34_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_35_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_36_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_37_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_38_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_39_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_40_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_32_8(prefix, __VA_ARGS__))
#define AU_FE_41_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_42_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_43_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_44_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_45_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_46_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_47_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_48_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_40_8(prefix, __VA_ARGS__))
#define AU_FE_49_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_50_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_51_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_52_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_53_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_54_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_55_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_56_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_48_8(prefix, __VA_ARGS__))
#define AU_FE_57_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_58_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_59_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_60_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_61_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_62_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_63_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_64_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_56_8(prefix, __VA_ARGS__))
#define AU_FE_65_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_66_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_67_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_68_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_69_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_70_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_71_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_72_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_64_8(prefix, __VA_ARGS__))
#define AU_FE_73_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_74_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_75_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_76_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_77_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_78_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_79_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_80_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_72_8(prefix, __VA_ARGS__))
#define AU_FE_81_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_82_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_83_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_84_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_85_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_86_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_87_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_88_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_80_8(prefix, __VA_ARGS__))
#define AU_FE_89_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_90_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_91_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_92_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_93_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_94_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_95_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_96_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_88_8(prefix, __VA_ARGS__))
#define AU_FE_97_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_98_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_FE_99_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) #error Macro Jump Error
#define AU_GET_MACRO_8(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_8(action, ...) AU_FE_EXPAND(AU_GET_MACRO_8(_whydoweneedthis, __VA_ARGS__, AU_FE_99_8, AU_FE_98_8, AU_FE_97_8, AU_FE_96_8, AU_FE_95_8, AU_FE_94_8, AU_FE_93_8, AU_FE_92_8, AU_FE_91_8, AU_FE_90_8, AU_FE_89_8, AU_FE_88_8, AU_FE_87_8, AU_FE_86_8, AU_FE_85_8, AU_FE_84_8, AU_FE_83_8, AU_FE_82_8, AU_FE_81_8, AU_FE_80_8, AU_FE_79_8, AU_FE_78_8, AU_FE_77_8, AU_FE_76_8, AU_FE_75_8, AU_FE_74_8, AU_FE_73_8, AU_FE_72_8, AU_FE_71_8, AU_FE_70_8, AU_FE_69_8, AU_FE_68_8, AU_FE_67_8, AU_FE_66_8, AU_FE_65_8, AU_FE_64_8, AU_FE_63_8, AU_FE_62_8, AU_FE_61_8, AU_FE_60_8, AU_FE_59_8, AU_FE_58_8, AU_FE_57_8, AU_FE_56_8, AU_FE_55_8, AU_FE_54_8, AU_FE_53_8, AU_FE_52_8, AU_FE_51_8, AU_FE_50_8, AU_FE_49_8, AU_FE_48_8, AU_FE_47_8, AU_FE_46_8, AU_FE_45_8, AU_FE_44_8, AU_FE_43_8, AU_FE_42_8, AU_FE_41_8, AU_FE_40_8, AU_FE_39_8, AU_FE_38_8, AU_FE_37_8, AU_FE_36_8, AU_FE_35_8, AU_FE_34_8, AU_FE_33_8, AU_FE_32_8, AU_FE_31_8, AU_FE_30_8, AU_FE_29_8, AU_FE_28_8, AU_FE_27_8, AU_FE_26_8, AU_FE_25_8, AU_FE_24_8, AU_FE_23_8, AU_FE_22_8, AU_FE_21_8, AU_FE_20_8, AU_FE_19_8, AU_FE_18_8, AU_FE_17_8, AU_FE_16_8, AU_FE_15_8, AU_FE_14_8, AU_FE_13_8, AU_FE_12_8, AU_FE_11_8, AU_FE_10_8, AU_FE_9_8, AU_FE_8_8, AU_FE_7_8, AU_FE_6_8, AU_FE_5_8, AU_FE_4_8, AU_FE_3_8, AU_FE_2_8, AU_FE_1_8, AU_FE_0_8)(action,__VA_ARGS__))
#define AU_FE_0_9(prefix)
#define AU_FE_1_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_0_9(prefix))
#define AU_FE_1_9_REF(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_0_9(prefix, __VA_ARGS__))
#define AU_FE_2_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_3_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_4_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_5_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_6_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_7_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_8_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_9_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_0_9(prefix, __VA_ARGS__))
#define AU_FE_10_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_11_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_12_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_13_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_14_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_15_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_16_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_17_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_18_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_9_9(prefix, __VA_ARGS__))
#define AU_FE_19_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_20_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_21_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_22_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_23_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_24_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_25_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_26_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_27_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_18_9(prefix, __VA_ARGS__))
#define AU_FE_28_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_29_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_30_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_31_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_32_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_33_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_34_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_35_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_36_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_27_9(prefix, __VA_ARGS__))
#define AU_FE_37_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_38_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_39_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_40_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_41_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_42_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_43_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_44_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_45_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_36_9(prefix, __VA_ARGS__))
#define AU_FE_46_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_47_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_48_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_49_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_50_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_51_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_52_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_53_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_54_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_45_9(prefix, __VA_ARGS__))
#define AU_FE_55_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_56_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_57_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_58_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_59_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_60_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_61_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_62_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_63_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_54_9(prefix, __VA_ARGS__))
#define AU_FE_64_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_65_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_66_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_67_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_68_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_69_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_70_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_71_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_72_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_63_9(prefix, __VA_ARGS__))
#define AU_FE_73_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_74_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_75_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_76_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_77_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_78_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_79_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_80_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_81_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_72_9(prefix, __VA_ARGS__))
#define AU_FE_82_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_83_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_84_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_85_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_86_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_87_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_88_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_89_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_90_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_81_9(prefix, __VA_ARGS__))
#define AU_FE_91_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_92_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_93_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_94_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_95_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_96_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_97_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_98_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) #error Macro Jump Error
#define AU_FE_99_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) prefix(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_90_9(prefix, __VA_ARGS__))
#define AU_GET_MACRO_9(_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, _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, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, NAME,...) NAME
#define AU_FOR_EACH_9(action, ...) AU_FE_EXPAND(AU_GET_MACRO_9(_whydoweneedthis, __VA_ARGS__, AU_FE_99_9, AU_FE_98_9, AU_FE_97_9, AU_FE_96_9, AU_FE_95_9, AU_FE_94_9, AU_FE_93_9, AU_FE_92_9, AU_FE_91_9, AU_FE_90_9, AU_FE_89_9, AU_FE_88_9, AU_FE_87_9, AU_FE_86_9, AU_FE_85_9, AU_FE_84_9, AU_FE_83_9, AU_FE_82_9, AU_FE_81_9, AU_FE_80_9, AU_FE_79_9, AU_FE_78_9, AU_FE_77_9, AU_FE_76_9, AU_FE_75_9, AU_FE_74_9, AU_FE_73_9, AU_FE_72_9, AU_FE_71_9, AU_FE_70_9, AU_FE_69_9, AU_FE_68_9, AU_FE_67_9, AU_FE_66_9, AU_FE_65_9, AU_FE_64_9, AU_FE_63_9, AU_FE_62_9, AU_FE_61_9, AU_FE_60_9, AU_FE_59_9, AU_FE_58_9, AU_FE_57_9, AU_FE_56_9, AU_FE_55_9, AU_FE_54_9, AU_FE_53_9, AU_FE_52_9, AU_FE_51_9, AU_FE_50_9, AU_FE_49_9, AU_FE_48_9, AU_FE_47_9, AU_FE_46_9, AU_FE_45_9, AU_FE_44_9, AU_FE_43_9, AU_FE_42_9, AU_FE_41_9, AU_FE_40_9, AU_FE_39_9, AU_FE_38_9, AU_FE_37_9, AU_FE_36_9, AU_FE_35_9, AU_FE_34_9, AU_FE_33_9, AU_FE_32_9, AU_FE_31_9, AU_FE_30_9, AU_FE_29_9, AU_FE_28_9, AU_FE_27_9, AU_FE_26_9, AU_FE_25_9, AU_FE_24_9, AU_FE_23_9, AU_FE_22_9, AU_FE_21_9, AU_FE_20_9, AU_FE_19_9, AU_FE_18_9, AU_FE_17_9, AU_FE_16_9, AU_FE_15_9, AU_FE_14_9, AU_FE_13_9, AU_FE_12_9, AU_FE_11_9, AU_FE_10_9, AU_FE_9_9, AU_FE_8_9, AU_FE_7_9, AU_FE_6_9, AU_FE_5_9, AU_FE_4_9, AU_FE_3_9, AU_FE_2_9, AU_FE_1_9, AU_FE_0_9)(action,__VA_ARGS__))

24
LICENSE.txt Normal file
View File

@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>

5
README.md Normal file
View File

@ -0,0 +1,5 @@
Based on https://stackoverflow.com/questions/11761703/overloading-macro-on-number-of-arguments
https://stackoverflow.com/questions/1872220/is-it-possible-to-iterate-over-arguments-in-variadic-macros
Implements a `AU_FOR_EACH_n` X-style macro that accepts a macro parameter where 'N' is the input parameters of the macro

87
forEach.js Normal file
View File

@ -0,0 +1,87 @@
var fs = require("fs")
var n = 100
var subn = 10
function forN(n, cb) {
for (var i = 0; i < n; i++) {
cb(i)
}
}
function formatNJoin(n, start, join) {
return start + [...Array(n).keys()].join(join)
}
function formatNJoinReverse(n, start, join) {
return start + [...Array(n).keys()].reverse().join(join)
}
function formatNJoinReverseSuffix(n, start, join, suffix) {
return start + [...Array(n).keys()].reverse().join(suffix + join) + suffix
}
function formatNJoinReverse(n, start, join) {
return start + [...Array(n).keys()].reverse().join(join)
}
function formatNParamPattern(n, join) {
return formatNJoin(n, join, ", " + join)
}
function formatNParamPatternReverse(n, join) {
return formatNJoinReverse(n, join, ", " + join)
}
function formatNParamPatternReverseSuffix(n, join, suffix) {
return formatNJoinReverseSuffix(n, join, ", " + join, suffix)
}
var textBuffer = ""
textBuffer +=
`/**
* X-Macro alternative. Defines AU_FE_N(expandable, ...args*N)
* Autogenerated by forEach.js; do not modify"
*/
#define AU_FE_EXPAND(exp) exp
`
forN(subn, function(subN) {
if (!subN) return
var suffix = subN != 1 ? "_" + (subN): ""
forN(n, function(i) {
if (i == 0) textBuffer += `#define AU_FE_0${suffix}(prefix) \n`
else {
var X = formatNParamPattern(subN, "X")
var iM1 = i - 1
var iM1Translated = i - subN
if (i == 1) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}) prefix(${X}) AU_FE_EXPAND(AU_FE_${iM1}${suffix}(prefix))\n`
} else {
if (subN == 1) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}, ...) prefix(${X}) AU_FE_EXPAND(AU_FE_${iM1}${suffix}(prefix, __VA_ARGS__))\n`
} else if (i % subN == 0) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}, ...) prefix(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated}${suffix}(prefix, __VA_ARGS__))\n`
}
else
{
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}, ...) #error Macro Jump Error\n`
}
}
}
})
var GET_MACRO_PARAMS = formatNParamPattern(n, "_")
textBuffer += `#define AU_GET_MACRO${suffix}(${GET_MACRO_PARAMS}, NAME,...) NAME\n`
var params = formatNParamPatternReverseSuffix(n, "AU_FE_", suffix)
var finalLine = `#define AU_FOR_EACH${suffix}(action, ...) AU_FE_EXPAND(AU_GET_MACRO${suffix}(_whydoweneedthis, __VA_ARGS__, ${params})(action,__VA_ARGS__))`
textBuffer += finalLine
textBuffer += "\n\n"
})
fs.writeFileSync("./AuroraForEach.hpp", textBuffer)