|
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) |
1.8.14