Fix __VA_ARGS__ being passed to a stub again

This commit is contained in:
Reece Wilson 2021-10-07 00:10:28 +01:00
parent e9f8b298c2
commit 0168bc4d0b
2 changed files with 147 additions and 118 deletions

View File

@ -6,213 +6,213 @@
#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, __VA_ARGS__))
#define AU_FE_1_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_0(prefix, __VA_ARGS__))
#define AU_FE_1_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_-1(prefix, __VA_ARGS__))
#define AU_FE_2(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_2_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_2_FIRST(first, prefix, X0) first(X0) AU_FE_EXPAND(AU_FE_0(prefix))
#define AU_FE_3(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_3_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_3_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_1(prefix, __VA_ARGS__))
#define AU_FE_4(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_4_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_4_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_2(prefix, __VA_ARGS__))
#define AU_FE_5(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_5_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_5_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_3(prefix, __VA_ARGS__))
#define AU_FE_6(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_6_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_6_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_4(prefix, __VA_ARGS__))
#define AU_FE_7(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_7_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_7_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_5(prefix, __VA_ARGS__))
#define AU_FE_8(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_8_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_8_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_6(prefix, __VA_ARGS__))
#define AU_FE_9(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_9_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_9_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_7(prefix, __VA_ARGS__))
#define AU_FE_10(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_10_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_10_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_8(prefix, __VA_ARGS__))
#define AU_FE_11(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_11_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_9(prefix, __VA_ARGS__))
#define AU_FE_12(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_12_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_12_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_10(prefix, __VA_ARGS__))
#define AU_FE_13(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_13_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_11(prefix, __VA_ARGS__))
#define AU_FE_14(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_14_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_14_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_12(prefix, __VA_ARGS__))
#define AU_FE_15(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_15_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_15_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_13(prefix, __VA_ARGS__))
#define AU_FE_16(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_16_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_16_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_14(prefix, __VA_ARGS__))
#define AU_FE_17(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_17_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_15(prefix, __VA_ARGS__))
#define AU_FE_18(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_18_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_18_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_16(prefix, __VA_ARGS__))
#define AU_FE_19(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_19_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_17(prefix, __VA_ARGS__))
#define AU_FE_20(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_20_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_20_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_18(prefix, __VA_ARGS__))
#define AU_FE_21(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_21_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_21_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_19(prefix, __VA_ARGS__))
#define AU_FE_22(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_22_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_22_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_20(prefix, __VA_ARGS__))
#define AU_FE_23(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_23_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_21(prefix, __VA_ARGS__))
#define AU_FE_24(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_24_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_24_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_22(prefix, __VA_ARGS__))
#define AU_FE_25(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_25_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_23(prefix, __VA_ARGS__))
#define AU_FE_26(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_26_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_24(prefix, __VA_ARGS__))
#define AU_FE_27(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_27_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_27_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_25(prefix, __VA_ARGS__))
#define AU_FE_28(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_28_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_28_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_26(prefix, __VA_ARGS__))
#define AU_FE_29(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_29_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_27(prefix, __VA_ARGS__))
#define AU_FE_30(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_30_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_30_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_28(prefix, __VA_ARGS__))
#define AU_FE_31(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_31_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_29(prefix, __VA_ARGS__))
#define AU_FE_32(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_32_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_32_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_30(prefix, __VA_ARGS__))
#define AU_FE_33(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_33_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_33_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_31(prefix, __VA_ARGS__))
#define AU_FE_34(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_34_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_32(prefix, __VA_ARGS__))
#define AU_FE_35(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_35_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_33(prefix, __VA_ARGS__))
#define AU_FE_36(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_36_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_36_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_34(prefix, __VA_ARGS__))
#define AU_FE_37(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_37_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_35(prefix, __VA_ARGS__))
#define AU_FE_38(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_38_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_38_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_36(prefix, __VA_ARGS__))
#define AU_FE_39(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_39_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_37(prefix, __VA_ARGS__))
#define AU_FE_40(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_40_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_40_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_38(prefix, __VA_ARGS__))
#define AU_FE_41(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_41_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_39(prefix, __VA_ARGS__))
#define AU_FE_42(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_42_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_42_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_40(prefix, __VA_ARGS__))
#define AU_FE_43(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_43_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_41(prefix, __VA_ARGS__))
#define AU_FE_44(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_44_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_42(prefix, __VA_ARGS__))
#define AU_FE_45(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_45_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_45_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_43(prefix, __VA_ARGS__))
#define AU_FE_46(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_46_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_44(prefix, __VA_ARGS__))
#define AU_FE_47(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_47_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_45(prefix, __VA_ARGS__))
#define AU_FE_48(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_48_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_48_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_46(prefix, __VA_ARGS__))
#define AU_FE_49(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_49_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_47(prefix, __VA_ARGS__))
#define AU_FE_50(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_50_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_50_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_48(prefix, __VA_ARGS__))
#define AU_FE_51(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_51_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_51_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_49(prefix, __VA_ARGS__))
#define AU_FE_52(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_52_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_52_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_50(prefix, __VA_ARGS__))
#define AU_FE_53(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_53_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_51(prefix, __VA_ARGS__))
#define AU_FE_54(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_54_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_54_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_52(prefix, __VA_ARGS__))
#define AU_FE_55(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_55_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_53(prefix, __VA_ARGS__))
#define AU_FE_56(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_56_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_56_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_54(prefix, __VA_ARGS__))
#define AU_FE_57(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_57_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_55(prefix, __VA_ARGS__))
#define AU_FE_58(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_58_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_58_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_56(prefix, __VA_ARGS__))
#define AU_FE_59(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_59_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_57(prefix, __VA_ARGS__))
#define AU_FE_60(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_60_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_60_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_58(prefix, __VA_ARGS__))
#define AU_FE_61(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_61_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_59(prefix, __VA_ARGS__))
#define AU_FE_62(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_62_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_60(prefix, __VA_ARGS__))
#define AU_FE_63(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_63_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_63_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_61(prefix, __VA_ARGS__))
#define AU_FE_64(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_64_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_62(prefix, __VA_ARGS__))
#define AU_FE_65(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_65_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_63(prefix, __VA_ARGS__))
#define AU_FE_66(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_66_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_66_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_64(prefix, __VA_ARGS__))
#define AU_FE_67(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_67_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_65(prefix, __VA_ARGS__))
#define AU_FE_68(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_68_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_68_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_66(prefix, __VA_ARGS__))
#define AU_FE_69(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_69_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_67(prefix, __VA_ARGS__))
#define AU_FE_70(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_70_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_70_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_68(prefix, __VA_ARGS__))
#define AU_FE_71(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_71_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_69(prefix, __VA_ARGS__))
#define AU_FE_72(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_72_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_72_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_70(prefix, __VA_ARGS__))
#define AU_FE_73(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_73_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_71(prefix, __VA_ARGS__))
#define AU_FE_74(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_74_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_74_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_72(prefix, __VA_ARGS__))
#define AU_FE_75(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_75_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_75_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_73(prefix, __VA_ARGS__))
#define AU_FE_76(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_76_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_74(prefix, __VA_ARGS__))
#define AU_FE_77(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_77_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_75(prefix, __VA_ARGS__))
#define AU_FE_78(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_78_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_78_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_76(prefix, __VA_ARGS__))
#define AU_FE_79(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_79_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_77(prefix, __VA_ARGS__))
#define AU_FE_80(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_80_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_80_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_78(prefix, __VA_ARGS__))
#define AU_FE_81(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_81_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_79(prefix, __VA_ARGS__))
#define AU_FE_82(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_82_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_82_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_80(prefix, __VA_ARGS__))
#define AU_FE_83(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_83_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_81(prefix, __VA_ARGS__))
#define AU_FE_84(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_84_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_84_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_82(prefix, __VA_ARGS__))
#define AU_FE_85(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_85_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_83(prefix, __VA_ARGS__))
#define AU_FE_86(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_86_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_86_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_84(prefix, __VA_ARGS__))
#define AU_FE_87(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_87_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_87_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_85(prefix, __VA_ARGS__))
#define AU_FE_88(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_88_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_88_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_86(prefix, __VA_ARGS__))
#define AU_FE_89(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_89_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_87(prefix, __VA_ARGS__))
#define AU_FE_90(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_90_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_90_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_88(prefix, __VA_ARGS__))
#define AU_FE_91(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_91_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_89(prefix, __VA_ARGS__))
#define AU_FE_92(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_92_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_92_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_90(prefix, __VA_ARGS__))
#define AU_FE_93(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_93_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_93_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_91(prefix, __VA_ARGS__))
#define AU_FE_94(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_94_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_94_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_92(prefix, __VA_ARGS__))
#define AU_FE_95(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_95_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_93(prefix, __VA_ARGS__))
#define AU_FE_96(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_96_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_96_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_94(prefix, __VA_ARGS__))
#define AU_FE_97(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_97_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_95(prefix, __VA_ARGS__))
#define AU_FE_98(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_98_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_97(prefix, __VA_ARGS__))
#define AU_FE_98_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_96(prefix, __VA_ARGS__))
#define AU_FE_99(prefix, X0, ...) prefix(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_98(prefix, __VA_ARGS__))
#define AU_FE_99_FIRST(first, prefix, X0, ...) first(X0) AU_FE_EXPAND(AU_FE_97(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_FOR_EACH_FIRST(action, ...) AU_FE_EXPAND(AU_GET_MACRO(_whydoweneedthis, __VA_ARGS__, AU_FE_99_FIRST, AU_FE_98_FIRST, AU_FE_97_FIRST, AU_FE_96_FIRST, AU_FE_95_FIRST, AU_FE_94_FIRST, AU_FE_93_FIRST, AU_FE_92_FIRST, AU_FE_91_FIRST, AU_FE_90_FIRST, AU_FE_89_FIRST, AU_FE_88_FIRST, AU_FE_87_FIRST, AU_FE_86_FIRST, AU_FE_85_FIRST, AU_FE_84_FIRST, AU_FE_83_FIRST, AU_FE_82_FIRST, AU_FE_81_FIRST, AU_FE_80_FIRST, AU_FE_79_FIRST, AU_FE_78_FIRST, AU_FE_77_FIRST, AU_FE_76_FIRST, AU_FE_75_FIRST, AU_FE_74_FIRST, AU_FE_73_FIRST, AU_FE_72_FIRST, AU_FE_71_FIRST, AU_FE_70_FIRST, AU_FE_69_FIRST, AU_FE_68_FIRST, AU_FE_67_FIRST, AU_FE_66_FIRST, AU_FE_65_FIRST, AU_FE_64_FIRST, AU_FE_63_FIRST, AU_FE_62_FIRST, AU_FE_61_FIRST, AU_FE_60_FIRST, AU_FE_59_FIRST, AU_FE_58_FIRST, AU_FE_57_FIRST, AU_FE_56_FIRST, AU_FE_55_FIRST, AU_FE_54_FIRST, AU_FE_53_FIRST, AU_FE_52_FIRST, AU_FE_51_FIRST, AU_FE_50_FIRST, AU_FE_49_FIRST, AU_FE_48_FIRST, AU_FE_47_FIRST, AU_FE_46_FIRST, AU_FE_45_FIRST, AU_FE_44_FIRST, AU_FE_43_FIRST, AU_FE_42_FIRST, AU_FE_41_FIRST, AU_FE_40_FIRST, AU_FE_39_FIRST, AU_FE_38_FIRST, AU_FE_37_FIRST, AU_FE_36_FIRST, AU_FE_35_FIRST, AU_FE_34_FIRST, AU_FE_33_FIRST, AU_FE_32_FIRST, AU_FE_31_FIRST, AU_FE_30_FIRST, AU_FE_29_FIRST, AU_FE_28_FIRST, AU_FE_27_FIRST, AU_FE_26_FIRST, AU_FE_25_FIRST, AU_FE_24_FIRST, AU_FE_23_FIRST, AU_FE_22_FIRST, AU_FE_21_FIRST, AU_FE_20_FIRST, AU_FE_19_FIRST, AU_FE_18_FIRST, AU_FE_17_FIRST, AU_FE_16_FIRST, AU_FE_15_FIRST, AU_FE_14_FIRST, AU_FE_13_FIRST, AU_FE_12_FIRST, AU_FE_11_FIRST, AU_FE_10_FIRST, AU_FE_9_FIRST, AU_FE_8_FIRST, AU_FE_7_FIRST, AU_FE_6_FIRST, AU_FE_5_FIRST, AU_FE_4_FIRST, AU_FE_3_FIRST, AU_FE_2_FIRST, AU_FE_1_FIRST, AU_FE_0_FIRST)(action,__VA_ARGS__))
#define AU_FE_0_2(prefix)
#define AU_FE_1_2(prefix, X0, X1, ...) Macro Jump Error
#define AU_FE_1_FIRST_2(first, prefix, X0, X1) first(X0, X1) AU_FE_EXPAND(AU_FE_-2_2(prefix))
#define AU_FE_1_FIRST_2(first, prefix, X0, X1)
#define AU_FE_2_2(prefix, X0, X1) prefix(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix))
#define AU_FE_3_2(prefix, X0, X1, ...) Macro Jump Error
#define AU_FE_3_FIRST_2(first, prefix, X0, X1, ...) first(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix, __VA_ARGS__))
#define AU_FE_3_FIRST_2(first, prefix, X0, X1) first(X0, X1) AU_FE_EXPAND(AU_FE_0_2(prefix))
#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, ...) Macro Jump Error
#define AU_FE_5_FIRST_2(first, prefix, X0, X1, ...) first(X0, X1) AU_FE_EXPAND(AU_FE_2_2(prefix, __VA_ARGS__))
@ -399,8 +399,9 @@
#define AU_FE_0_3(prefix)
#define AU_FE_1_3(prefix, X0, X1, X2, ...) Macro Jump Error
#define AU_FE_1_FIRST_3(first, prefix, X0, X1, X2)
#define AU_FE_2_3(prefix, X0, X1, X2, ...) Macro Jump Error
#define AU_FE_2_FIRST_3(first, prefix, X0, X1, X2) first(X0, X1, X2) AU_FE_EXPAND(AU_FE_-2_3(prefix))
#define AU_FE_2_FIRST_3(first, prefix, X0, X1, X2)
#define AU_FE_3_3(prefix, X0, X1, X2) prefix(X0, X1, X2) AU_FE_EXPAND(AU_FE_0_3(prefix))
#define AU_FE_4_3(prefix, X0, X1, X2, ...) Macro Jump Error
#define AU_FE_5_3(prefix, X0, X1, X2, ...) Macro Jump Error
@ -568,9 +569,11 @@
#define AU_FE_0_4(prefix)
#define AU_FE_1_4(prefix, X0, X1, X2, X3, ...) Macro Jump Error
#define AU_FE_1_FIRST_4(first, prefix, X0, X1, X2, X3)
#define AU_FE_2_4(prefix, X0, X1, X2, X3, ...) Macro Jump Error
#define AU_FE_2_FIRST_4(first, prefix, X0, X1, X2, X3)
#define AU_FE_3_4(prefix, X0, X1, X2, X3, ...) Macro Jump Error
#define AU_FE_3_FIRST_4(first, prefix, X0, X1, X2, X3) first(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_-2_4(prefix))
#define AU_FE_3_FIRST_4(first, prefix, X0, X1, X2, X3)
#define AU_FE_4_4(prefix, X0, X1, X2, X3) prefix(X0, X1, X2, X3) AU_FE_EXPAND(AU_FE_0_4(prefix))
#define AU_FE_5_4(prefix, X0, X1, X2, X3, ...) Macro Jump Error
#define AU_FE_6_4(prefix, X0, X1, X2, X3, ...) Macro Jump Error
@ -727,10 +730,13 @@
#define AU_FE_0_5(prefix)
#define AU_FE_1_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
#define AU_FE_1_FIRST_5(first, prefix, X0, X1, X2, X3, X4)
#define AU_FE_2_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
#define AU_FE_2_FIRST_5(first, prefix, X0, X1, X2, X3, X4)
#define AU_FE_3_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
#define AU_FE_3_FIRST_5(first, prefix, X0, X1, X2, X3, X4)
#define AU_FE_4_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
#define AU_FE_4_FIRST_5(first, prefix, X0, X1, X2, X3, X4) first(X0, X1, X2, X3, X4) AU_FE_EXPAND(AU_FE_-2_5(prefix))
#define AU_FE_4_FIRST_5(first, prefix, X0, X1, X2, X3, X4)
#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))
#define AU_FE_6_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
#define AU_FE_7_5(prefix, X0, X1, X2, X3, X4, ...) Macro Jump Error
@ -879,11 +885,15 @@
#define AU_FE_0_6(prefix)
#define AU_FE_1_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_1_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5)
#define AU_FE_2_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_2_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5)
#define AU_FE_3_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_3_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5)
#define AU_FE_4_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_4_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5)
#define AU_FE_5_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_5_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5) first(X0, X1, X2, X3, X4, X5) AU_FE_EXPAND(AU_FE_-2_6(prefix))
#define AU_FE_5_FIRST_6(first, prefix, X0, X1, X2, X3, X4, X5)
#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))
#define AU_FE_7_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
#define AU_FE_8_6(prefix, X0, X1, X2, X3, X4, X5, ...) Macro Jump Error
@ -1027,12 +1037,17 @@
#define AU_FE_0_7(prefix)
#define AU_FE_1_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_1_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#define AU_FE_2_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_2_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#define AU_FE_3_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_3_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#define AU_FE_4_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_4_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#define AU_FE_5_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_5_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#define AU_FE_6_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_6_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6) first(X0, X1, X2, X3, X4, X5, X6) AU_FE_EXPAND(AU_FE_-2_7(prefix))
#define AU_FE_6_FIRST_7(first, prefix, X0, X1, X2, X3, X4, X5, X6)
#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))
#define AU_FE_8_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
#define AU_FE_9_7(prefix, X0, X1, X2, X3, X4, X5, X6, ...) Macro Jump Error
@ -1172,13 +1187,19 @@
#define AU_FE_0_8(prefix)
#define AU_FE_1_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_1_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_2_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_2_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_3_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_3_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_4_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_4_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_5_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_5_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_6_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_6_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#define AU_FE_7_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_7_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7) first(X0, X1, X2, X3, X4, X5, X6, X7) AU_FE_EXPAND(AU_FE_-2_8(prefix))
#define AU_FE_7_FIRST_8(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7)
#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))
#define AU_FE_9_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
#define AU_FE_10_8(prefix, X0, X1, X2, X3, X4, X5, X6, X7, ...) Macro Jump Error
@ -1315,14 +1336,21 @@
#define AU_FE_0_9(prefix)
#define AU_FE_1_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_1_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_2_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_2_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_3_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_3_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_4_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_4_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_5_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_5_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_6_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_6_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_7_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_7_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#define AU_FE_8_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_8_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8) first(X0, X1, X2, X3, X4, X5, X6, X7, X8) AU_FE_EXPAND(AU_FE_-2_9(prefix))
#define AU_FE_8_FIRST_9(first, prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8)
#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))
#define AU_FE_10_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error
#define AU_FE_11_9(prefix, X0, X1, X2, X3, X4, X5, X6, X7, X8, ...) Macro Jump Error

View File

@ -64,7 +64,6 @@ forN(subn, function(subN) {
var iM1Translated2 = (i - 1) - subN
if (subN == 1) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}, ...) prefix(${X}) AU_FE_EXPAND(AU_FE_${iM1}${suffix}(prefix, __VA_ARGS__))\n`
textBuffer += `#define AU_FE_${i}_FIRST${suffix}(first, prefix, ${X}, ...) first(${X}) AU_FE_EXPAND(AU_FE_${iM1}${suffix}(prefix, __VA_ARGS__))\n`
} else if (i % subN == 0) {
if (i == subN) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}) prefix(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated}${suffix}(prefix))\n`
@ -76,15 +75,17 @@ forN(subn, function(subN) {
textBuffer += `#define AU_FE_${i}${suffix}(prefix, ${X}, ...) Macro Jump Error\n`
}
if (subN != 1) {
if ((i + 1) % (subN) == 0) {
if ((i + 1) == subN) {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix))\n`
} else {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}, ...) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix, __VA_ARGS__))\n`
}
}
}
var I2 = i + 1
if (i < subN) {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}) \n`
} else if (I2 % (subN) == 0) {
if ((i - 1) == subN) {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix))\n`
} else {
textBuffer += `#define AU_FE_${i}_FIRST${suffix2}(first, prefix, ${X}, ...) first(${X}) AU_FE_EXPAND(AU_FE_${iM1Translated2}${suffix}(prefix, __VA_ARGS__))\n`
}
}
}
})