MIRA
|
Tools for handling variadic macros. More...
#include <boost/version.hpp>
Go to the source code of this file.
Macros | |
#define | GET_0(...) "__________ Error: Variable argument ('...') needs at least one parameter! __________" |
#define | GET_1(i1, ...) i1 |
#define | GET_2(i1, i2, ...) i2 |
#define | GET_3(i1, i2, i3, ...) i3 |
#define | GET_4(i1, i2, i3, i4, ...) i4 |
#define | GET_5(i1, i2, i3, i4, i5, ...) i5 |
#define | GET_6(i1, i2, i3, i4, i5, i6, ...) i6 |
#define | GET_7(i1, i2, i3, i4, i5, i6, i7, ...) i7 |
#define | GET_8(i1, i2, i3, i4, i5, i6, i7, i8, ...) i8 |
#define | GET_9(i1, i2, i3, i4, i5, i6, i7, i8, i9, ...) i9 |
#define | GET_10(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, ...) i10 |
#define | GET_11(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, ...) i11 |
#define | GET_12(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, ...) i12 |
#define | GET_13(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, ...) i13 |
#define | GET_14(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, ...) i14 |
#define | GET_15(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, ...) i15 |
#define | GET_16(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, ...) i16 |
#define | GET_17(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, ...) i17 |
#define | GET_18(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, ...) i18 |
#define | GET_19(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, ...) i19 |
#define | GET_20(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, ...) i20 |
#define | GET_21(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, ...) i21 |
#define | GET_22(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, ...) i22 |
#define | GET_23(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, ...) i23 |
#define | GET_24(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, ...) i24 |
#define | GET_N(N, ...) GET_##N(__VA_ARGS__) |
#define | MIRA_VARIADIC_SIZE(...) GET_N(24, __VA_ARGS__, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) |
Tools for handling variadic macros.
#define GET_0 | ( | ... | ) | "__________ Error: Variable argument ('...') needs at least one parameter! __________" |
#define GET_1 | ( | i1, | |
... | |||
) | i1 |
#define GET_2 | ( | i1, | |
i2, | |||
... | |||
) | i2 |
#define GET_3 | ( | i1, | |
i2, | |||
i3, | |||
... | |||
) | i3 |
#define GET_4 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
... | |||
) | i4 |
#define GET_5 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
... | |||
) | i5 |
#define GET_6 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
... | |||
) | i6 |
#define GET_7 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
... | |||
) | i7 |
#define GET_8 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
... | |||
) | i8 |
#define GET_9 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
... | |||
) | i9 |
#define GET_10 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
... | |||
) | i10 |
#define GET_11 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
... | |||
) | i11 |
#define GET_12 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
... | |||
) | i12 |
#define GET_13 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
... | |||
) | i13 |
#define GET_14 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
... | |||
) | i14 |
#define GET_15 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
... | |||
) | i15 |
#define GET_16 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
... | |||
) | i16 |
#define GET_17 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
... | |||
) | i17 |
#define GET_18 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
... | |||
) | i18 |
#define GET_19 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
... | |||
) | i19 |
#define GET_20 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
i20, | |||
... | |||
) | i20 |
#define GET_21 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
i20, | |||
i21, | |||
... | |||
) | i21 |
#define GET_22 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
i20, | |||
i21, | |||
i22, | |||
... | |||
) | i22 |
#define GET_23 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
i20, | |||
i21, | |||
i22, | |||
i23, | |||
... | |||
) | i23 |
#define GET_24 | ( | i1, | |
i2, | |||
i3, | |||
i4, | |||
i5, | |||
i6, | |||
i7, | |||
i8, | |||
i9, | |||
i10, | |||
i11, | |||
i12, | |||
i13, | |||
i14, | |||
i15, | |||
i16, | |||
i17, | |||
i18, | |||
i19, | |||
i20, | |||
i21, | |||
i22, | |||
i23, | |||
i24, | |||
... | |||
) | i24 |
#define GET_N | ( | N, | |
... | |||
) | GET_##N(__VA_ARGS__) |
#define MIRA_VARIADIC_SIZE | ( | ... | ) | GET_N(24, __VA_ARGS__, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) |