|
pputl Preprocessor Utilities
|
|
Go to the documentation of this file. 1 #ifndef PPUTL_JOIN_GLUE_H_INCLUDED
2 #define PPUTL_JOIN_GLUE_H_INCLUDED
34 #include "pputl/cat.h"
35 #include "pputl/first.h"
36 #include "pputl/rest.h"
37 #include "pputl/tuple/elem.h"
61 #define PPUTL_JOIN_GLUE(glue, ...)
67 #define PPUTL_DETAIL_JOIN_GLUE_REDUCER(a, v, i)
68 (PPUTL_TUPLE_ELEM(0
, a),
69 PPUTL_CAT(PPUTL_TUPLE_ELEM(1
, a), PPUTL_TUPLE_ELEM(0
, a), v))
71 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE(reducer, initial, ...)
72 PPUTL_DETAIL_JOIN_GLUE_REDUCE_CHOOSER(__VA_ARGS__)
74 (0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, 13
, 14
, 15
, 16
, 17
, 18
, 19
, 20
,
75 21
, 22
, 23
, 24
, 25
, 26
, 27
, 28
, 29
, 30
, 31
, 32
, 33
, 34
, 35
, 36
, 37
, 38
,
76 39
, 40
, 41
, 42
, 43
, 44
, 45
, 46
, 47
, 48
, 49
, 50
, 51
, 52
, 53
, 54
, 55
, 56
,
77 57
, 58
, 59
, 60
, 61
, 62
, 63
, 64
, 65
, 66
, 67
, 68
, 69
, 70
, 71
, 72
, 73
, 74
,
78 75
, 76
, 77
, 78
, 79
, 80
, 81
, 82
, 83
, 84
, 85
, 86
, 87
, 88
, 89
, 90
, 91
, 92
,
79 93
, 94
, 95
, 96
, 97
, 98
, 99
, 100
, 101
, 102
, 103
, 104
, 105
, 106
, 107
, 108
,
80 109
, 110
, 111
, 112
, 113
, 114
, 115
, 116
, 117
, 118
, 119
, 120
, 121
, 122
, 123
,
81 124
, 125
, 126
, 127
, 128
, 129
, 130
, 131
, 132
, 133
, 134
, 135
, 136
, 137
, 138
,
82 139
, 140
, 141
, 142
, 143
, 144
, 145
, 146
, 147
, 148
, 149
, 150
, 151
, 152
, 153
,
83 154
, 155
, 156
, 157
, 158
, 159
, 160
, 161
, 162
, 163
, 164
, 165
, 166
, 167
, 168
,
84 169
, 170
, 171
, 172
, 173
, 174
, 175
, 176
, 177
, 178
, 179
, 180
, 181
, 182
, 183
,
85 184
, 185
, 186
, 187
, 188
, 189
, 190
, 191
, 192
, 193
, 194
, 195
, 196
, 197
, 198
,
86 199
, 200
, 201
, 202
, 203
, 204
, 205
, 206
, 207
, 208
, 209
, 210
, 211
, 212
, 213
,
87 214
, 215
, 216
, 217
, 218
, 219
, 220
, 221
, 222
, 223
, 224
, 225
, 226
, 227
, 228
,
88 229
, 230
, 231
, 232
, 233
, 234
, 235
, 236
, 237
, 238
, 239
, 240
, 241
, 242
, 243
,
89 244
, 245
, 246
, 247
, 248
, 249
, 250
, 251
, 252
, 253
, 254
, 255
)__VA_OPT__(, )
92 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT_X(a, b) a##b
93 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT(a, b)
96 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST(i, ...) i
97 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST(_, ...) __VA_ARGS__
99 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_00(r, a, is) a
356 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CHOICE(
357 _FF, _FE, _FD, _FC, _FB, _FA, _F9, _F8, _F7, _F6, _F5, _F4, _F3, _F2, _F1,
358 _F0, _EF, _EE, _ED, _EC, _EB, _EA, _E9, _E8, _E7, _E6, _E5, _E4, _E3, _E2,
359 _E1, _E0, _DF, _DE, _DD, _DC, _DB, _DA, _D9, _D8, _D7, _D6, _D5, _D4, _D3,
360 _D2, _D1, _D0, _CF, _CE, _CD, _CC, _CB, _CA, _C9, _C8, _C7, _C6, _C5, _C4,
361 _C3, _C2, _C1, _C0, _BF, _BE, _BD, _BC, _BB, _BA, _B9, _B8, _B7, _B6, _B5,
362 _B4, _B3, _B2, _B1, _B0, _AF, _AE, _AD, _AC, _AB, _AA, _A9, _A8, _A7, _A6,
363 _A5, _A4, _A3, _A2, _A1, _A0, _9F, _9E, _9D, _9C, _9B, _9A, _99, _98, _97,
364 _96, _95, _94, _93, _92, _91, _90, _8F, _8E, _8D, _8C, _8B, _8A, _89, _88,
365 _87, _86, _85, _84, _83, _82, _81, _80, _7F, _7E, _7D, _7C, _7B, _7A, _79,
366 _78, _77, _76, _75, _74, _73, _72, _71, _70, _6F, _6E, _6D, _6C, _6B, _6A,
367 _69, _68, _67, _66, _65, _64, _63, _62, _61, _60, _5F, _5E, _5D, _5C, _5B,
368 _5A, _59, _58, _57, _56, _55, _54, _53, _52, _51, _50, _4F, _4E, _4D, _4C,
369 _4B, _4A, _49, _48, _47, _46, _45, _44, _43, _42, _41, _40, _3F, _3E, _3D,
370 _3C, _3B, _3A, _39, _38, _37, _36, _35, _34, _33, _32, _31, _30, _2F, _2E,
371 _2D, _2C, _2B, _2A, _29, _28, _27, _26, _25, _24, _23, _22, _21, _20, _1F,
372 _1E, _1D, _1C, _1B, _1A, _19, _18, _17, _16, _15, _14, _13, _12, _11, _10,
373 _0F, _0E, _0D, _0C, _0B, _0A, _09, _08, _07, _06, _05, _04, _03, _02, _01,
377 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CHOOSER(...)
378 PPUTL_DETAIL_JOIN_GLUE_REDUCE_CHOICE(
379 __VA_ARGS__ __VA_OPT__(, ) FF, FE, FD, FC, FB, FA, F9, F8, F7, F6, F5,
380 F4, F3, F2, F1, F0, EF, EE, ED, EC, EB, EA, E9, E8, E7, E6, E5, E4, E3,
381 E2, E1, E0, DF, DE, DD, DC, DB, DA, D9, D8, D7, D6, D5, D4, D3, D2, D1,
382 D0, CF, CE, CD, CC, CB, CA, C9, C8, C7, C6, C5, C4, C3, C2, C1, C0, BF,
383 BE, BD, BC, BB, BA, B9, B8, B7, B6, B5, B4, B3, B2, B1, B0, AF, AE, AD,
384 AC, AB, AA, A9, A8, A7, A6, A5, A4, A3, A2, A1, A0, 9F
, 9E
, 9D
, 9C
, 9B
,
385 9A
, 99
, 98
, 97
, 96
, 95
, 94
, 93
, 92
, 91
, 90
, 8F
, 8E
, 8D
, 8C
, 8B
, 8A
, 89
,
386 88
, 87
, 86
, 85
, 84
, 83
, 82
, 81
, 80
, 7F
, 7E
, 7D
, 7C
, 7B
, 7A
, 79
, 78
, 77
,
387 76
, 75
, 74
, 73
, 72
, 71
, 70
, 6F
, 6E
, 6D
, 6C
, 6B
, 6A
, 69
, 68
, 67
, 66
, 65
,
388 64
, 63
, 62
, 61
, 60
, 5F
, 5E
, 5D
, 5C
, 5B
, 5A
, 59
, 58
, 57
, 56
, 55
, 54
, 53
,
389 52
, 51
, 50
, 4F
, 4E
, 4D
, 4C
, 4B
, 4A
, 49
, 48
, 47
, 46
, 45
, 44
, 43
, 42
, 41
,
390 40
, 3F
, 3E
, 3D
, 3C
, 3B
, 3A
, 39
, 38
, 37
, 36
, 35
, 34
, 33
, 32
, 31
, 30
, 2F
,
391 2E
, 2D
, 2C
, 2B
, 2A
, 29
, 28
, 27
, 26
, 25
, 24
, 23
, 22
, 21
, 20
, 1F
, 1E
, 1D
,
392 1C
, 1B
, 1A
, 19
, 18
, 17
, 16
, 15
, 14
, 13
, 12
, 11
, 10
, 0F
, 0E
, 0D
, 0C
, 0B
,
393 0A
, 09
, 08
, 07
, 06
, 05
, 04
, 03
, 02
, 01
, 00
)
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F8(r, a, is, v,...)
Definition: glue.h:347
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_79(r, a, is, v,...)
Definition: glue.h:220
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0B(r, a, is, v,...)
Definition: glue.h:110
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8F(r, a, is, v,...)
Definition: glue.h:242
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A6(r, a, is, v,...)
Definition: glue.h:265
#define PPUTL_DETAIL_JOIN_GLUE_REDUCER(a, v, i)
Definition: glue.h:67
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AC(r, a, is, v,...)
Definition: glue.h:271
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_65(r, a, is, v,...)
Definition: glue.h:200
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A8(r, a, is, v,...)
Definition: glue.h:267
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_53(r, a, is, v,...)
Definition: glue.h:182
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A5(r, a, is, v,...)
Definition: glue.h:264
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_74(r, a, is, v,...)
Definition: glue.h:215
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A7(r, a, is, v,...)
Definition: glue.h:266
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_04(r, a, is, v,...)
Definition: glue.h:103
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6F(r, a, is, v,...)
Definition: glue.h:210
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_22(r, a, is, v,...)
Definition: glue.h:133
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_03(r, a, is, v,...)
Definition: glue.h:102
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8A(r, a, is, v,...)
Definition: glue.h:237
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D6(r, a, is, v,...)
Definition: glue.h:313
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9C(r, a, is, v,...)
Definition: glue.h:255
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B4(r, a, is, v,...)
Definition: glue.h:279
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7F(r, a, is, v,...)
Definition: glue.h:226
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CE(r, a, is, v,...)
Definition: glue.h:305
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_45(r, a, is, v,...)
Definition: glue.h:168
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A1(r, a, is, v,...)
Definition: glue.h:260
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_77(r, a, is, v,...)
Definition: glue.h:218
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_13(r, a, is, v,...)
Definition: glue.h:118
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_39(r, a, is, v,...)
Definition: glue.h:156
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_49(r, a, is, v,...)
Definition: glue.h:172
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_91(r, a, is, v,...)
Definition: glue.h:244
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_32(r, a, is, v,...)
Definition: glue.h:149
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_06(r, a, is, v,...)
Definition: glue.h:105
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7A(r, a, is, v,...)
Definition: glue.h:221
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E1(r, a, is, v,...)
Definition: glue.h:324
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D9(r, a, is, v,...)
Definition: glue.h:316
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_05(r, a, is, v,...)
Definition: glue.h:104
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1B(r, a, is, v,...)
Definition: glue.h:126
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_24(r, a, is, v,...)
Definition: glue.h:135
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_96(r, a, is, v,...)
Definition: glue.h:249
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E6(r, a, is, v,...)
Definition: glue.h:329
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F1(r, a, is, v,...)
Definition: glue.h:340
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_38(r, a, is, v,...)
Definition: glue.h:155
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_19(r, a, is, v,...)
Definition: glue.h:124
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D1(r, a, is, v,...)
Definition: glue.h:308
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_60(r, a, is, v,...)
Definition: glue.h:195
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_82(r, a, is, v,...)
Definition: glue.h:229
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_67(r, a, is, v,...)
Definition: glue.h:202
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_89(r, a, is, v,...)
Definition: glue.h:236
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_31(r, a, is, v,...)
Definition: glue.h:148
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6A(r, a, is, v,...)
Definition: glue.h:205
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A9(r, a, is, v,...)
Definition: glue.h:268
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BC(r, a, is, v,...)
Definition: glue.h:287
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EC(r, a, is, v,...)
Definition: glue.h:335
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CF(r, a, is, v,...)
Definition: glue.h:306
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7E(r, a, is, v,...)
Definition: glue.h:225
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5F(r, a, is, v,...)
Definition: glue.h:194
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C4(r, a, is, v,...)
Definition: glue.h:295
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A0(r, a, is, v,...)
Definition: glue.h:259
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3A(r, a, is, v,...)
Definition: glue.h:157
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5B(r, a, is, v,...)
Definition: glue.h:190
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9B(r, a, is, v,...)
Definition: glue.h:254
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2C(r, a, is, v,...)
Definition: glue.h:143
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_63(r, a, is, v,...)
Definition: glue.h:198
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_42(r, a, is, v,...)
Definition: glue.h:165
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0E(r, a, is, v,...)
Definition: glue.h:113
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT(a, b)
Definition: glue.h:93
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B1(r, a, is, v,...)
Definition: glue.h:276
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F3(r, a, is, v,...)
Definition: glue.h:342
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DD(r, a, is, v,...)
Definition: glue.h:320
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FA(r, a, is, v,...)
Definition: glue.h:349
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B9(r, a, is, v,...)
Definition: glue.h:284
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CB(r, a, is, v,...)
Definition: glue.h:302
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C9(r, a, is, v,...)
Definition: glue.h:300
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_68(r, a, is, v,...)
Definition: glue.h:203
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_10(r, a, is, v,...)
Definition: glue.h:115
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_17(r, a, is, v,...)
Definition: glue.h:122
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_83(r, a, is, v,...)
Definition: glue.h:230
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9D(r, a, is, v,...)
Definition: glue.h:256
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_52(r, a, is, v,...)
Definition: glue.h:181
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B8(r, a, is, v,...)
Definition: glue.h:283
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6E(r, a, is, v,...)
Definition: glue.h:209
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AF(r, a, is, v,...)
Definition: glue.h:274
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_76(r, a, is, v,...)
Definition: glue.h:217
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8C(r, a, is, v,...)
Definition: glue.h:239
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_73(r, a, is, v,...)
Definition: glue.h:214
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F7(r, a, is, v,...)
Definition: glue.h:346
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4A(r, a, is, v,...)
Definition: glue.h:173
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EF(r, a, is, v,...)
Definition: glue.h:338
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C2(r, a, is, v,...)
Definition: glue.h:293
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6C(r, a, is, v,...)
Definition: glue.h:207
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B7(r, a, is, v,...)
Definition: glue.h:282
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CC(r, a, is, v,...)
Definition: glue.h:303
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_57(r, a, is, v,...)
Definition: glue.h:186
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1A(r, a, is, v,...)
Definition: glue.h:125
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B5(r, a, is, v,...)
Definition: glue.h:280
#define PPUTL_TUPLE_ELEM(idx, tup)
Definition: elem.h:41
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DE(r, a, is, v,...)
Definition: glue.h:321
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E8(r, a, is, v,...)
Definition: glue.h:331
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AD(r, a, is, v,...)
Definition: glue.h:272
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_34(r, a, is, v,...)
Definition: glue.h:151
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BD(r, a, is, v,...)
Definition: glue.h:288
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_29(r, a, is, v,...)
Definition: glue.h:140
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_95(r, a, is, v,...)
Definition: glue.h:248
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B6(r, a, is, v,...)
Definition: glue.h:281
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_94(r, a, is, v,...)
Definition: glue.h:247
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_84(r, a, is, v,...)
Definition: glue.h:231
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_20(r, a, is, v,...)
Definition: glue.h:131
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3D(r, a, is, v,...)
Definition: glue.h:160
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_75(r, a, is, v,...)
Definition: glue.h:216
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1E(r, a, is, v,...)
Definition: glue.h:129
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_61(r, a, is, v,...)
Definition: glue.h:196
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C0(r, a, is, v,...)
Definition: glue.h:291
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_80(r, a, is, v,...)
Definition: glue.h:227
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1F(r, a, is, v,...)
Definition: glue.h:130
#define PPUTL_REST(...)
Definition: rest.h:49
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E5(r, a, is, v,...)
Definition: glue.h:328
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EB(r, a, is, v,...)
Definition: glue.h:334
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9E(r, a, is, v,...)
Definition: glue.h:257
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_59(r, a, is, v,...)
Definition: glue.h:188
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_97(r, a, is, v,...)
Definition: glue.h:250
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5D(r, a, is, v,...)
Definition: glue.h:192
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BB(r, a, is, v,...)
Definition: glue.h:286
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5C(r, a, is, v,...)
Definition: glue.h:191
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_81(r, a, is, v,...)
Definition: glue.h:228
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_99(r, a, is, v,...)
Definition: glue.h:252
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_69(r, a, is, v,...)
Definition: glue.h:204
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_54(r, a, is, v,...)
Definition: glue.h:183
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_25(r, a, is, v,...)
Definition: glue.h:136
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_88(r, a, is, v,...)
Definition: glue.h:235
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1D(r, a, is, v,...)
Definition: glue.h:128
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F9(r, a, is, v,...)
Definition: glue.h:348
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6D(r, a, is, v,...)
Definition: glue.h:208
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2E(r, a, is, v,...)
Definition: glue.h:145
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CD(r, a, is, v,...)
Definition: glue.h:304
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_47(r, a, is, v,...)
Definition: glue.h:170
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_85(r, a, is, v,...)
Definition: glue.h:232
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DB(r, a, is, v,...)
Definition: glue.h:318
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_66(r, a, is, v,...)
Definition: glue.h:201
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_23(r, a, is, v,...)
Definition: glue.h:134
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3C(r, a, is, v,...)
Definition: glue.h:159
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_02(r, a, is, v,...)
Definition: glue.h:101
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5E(r, a, is, v,...)
Definition: glue.h:193
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5A(r, a, is, v,...)
Definition: glue.h:189
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C1(r, a, is, v,...)
Definition: glue.h:292
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C6(r, a, is, v,...)
Definition: glue.h:297
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_44(r, a, is, v,...)
Definition: glue.h:167
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C5(r, a, is, v,...)
Definition: glue.h:296
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0F(r, a, is, v,...)
Definition: glue.h:114
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_37(r, a, is, v,...)
Definition: glue.h:154
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST(_,...)
Definition: glue.h:97
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_43(r, a, is, v,...)
Definition: glue.h:166
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DC(r, a, is, v,...)
Definition: glue.h:319
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FC(r, a, is, v,...)
Definition: glue.h:351
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_12(r, a, is, v,...)
Definition: glue.h:117
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D5(r, a, is, v,...)
Definition: glue.h:312
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E0(r, a, is, v,...)
Definition: glue.h:323
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D3(r, a, is, v,...)
Definition: glue.h:310
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_46(r, a, is, v,...)
Definition: glue.h:169
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE(reducer, initial,...)
Definition: glue.h:71
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4D(r, a, is, v,...)
Definition: glue.h:176
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FD(r, a, is, v,...)
Definition: glue.h:352
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_56(r, a, is, v,...)
Definition: glue.h:185
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_21(r, a, is, v,...)
Definition: glue.h:132
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_36(r, a, is, v,...)
Definition: glue.h:153
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2B(r, a, is, v,...)
Definition: glue.h:142
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_01(r, a, is, v)
Definition: glue.h:100
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_18(r, a, is, v,...)
Definition: glue.h:123
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4F(r, a, is, v,...)
Definition: glue.h:178
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A2(r, a, is, v,...)
Definition: glue.h:261
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_35(r, a, is, v,...)
Definition: glue.h:152
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_14(r, a, is, v,...)
Definition: glue.h:119
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7B(r, a, is, v,...)
Definition: glue.h:222
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8E(r, a, is, v,...)
Definition: glue.h:241
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_90(r, a, is, v,...)
Definition: glue.h:243
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B0(r, a, is, v,...)
Definition: glue.h:275
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AB(r, a, is, v,...)
Definition: glue.h:270
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_55(r, a, is, v,...)
Definition: glue.h:184
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_33(r, a, is, v,...)
Definition: glue.h:150
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BF(r, a, is, v,...)
Definition: glue.h:290
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT_X(a, b)
Definition: glue.h:92
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_26(r, a, is, v,...)
Definition: glue.h:137
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E2(r, a, is, v,...)
Definition: glue.h:325
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_58(r, a, is, v,...)
Definition: glue.h:187
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4B(r, a, is, v,...)
Definition: glue.h:174
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9A(r, a, is, v,...)
Definition: glue.h:253
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0C(r, a, is, v,...)
Definition: glue.h:111
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_27(r, a, is, v,...)
Definition: glue.h:138
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_09(r, a, is, v,...)
Definition: glue.h:108
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EA(r, a, is, v,...)
Definition: glue.h:333
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_28(r, a, is, v,...)
Definition: glue.h:139
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_86(r, a, is, v,...)
Definition: glue.h:233
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2D(r, a, is, v,...)
Definition: glue.h:144
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C7(r, a, is, v,...)
Definition: glue.h:298
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FE(r, a, is, v,...)
Definition: glue.h:353
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F4(r, a, is, v,...)
Definition: glue.h:343
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_16(r, a, is, v,...)
Definition: glue.h:121
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A3(r, a, is, v,...)
Definition: glue.h:262
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_72(r, a, is, v,...)
Definition: glue.h:213
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_71(r, a, is, v,...)
Definition: glue.h:212
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1C(r, a, is, v,...)
Definition: glue.h:127
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_70(r, a, is, v,...)
Definition: glue.h:211
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D0(r, a, is, v,...)
Definition: glue.h:307
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F5(r, a, is, v,...)
Definition: glue.h:344
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AE(r, a, is, v,...)
Definition: glue.h:273
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DA(r, a, is, v,...)
Definition: glue.h:317
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_51(r, a, is, v,...)
Definition: glue.h:180
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DF(r, a, is, v,...)
Definition: glue.h:322
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9F(r, a, is, v,...)
Definition: glue.h:258
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_07(r, a, is, v,...)
Definition: glue.h:106
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E7(r, a, is, v,...)
Definition: glue.h:330
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_ED(r, a, is, v,...)
Definition: glue.h:336
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B2(r, a, is, v,...)
Definition: glue.h:277
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AA(r, a, is, v,...)
Definition: glue.h:269
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_48(r, a, is, v,...)
Definition: glue.h:171
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_41(r, a, is, v,...)
Definition: glue.h:164
#define PPUTL_FIRST(...)
Definition: first.h:48
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C3(r, a, is, v,...)
Definition: glue.h:294
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6B(r, a, is, v,...)
Definition: glue.h:206
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4E(r, a, is, v,...)
Definition: glue.h:177
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D7(r, a, is, v,...)
Definition: glue.h:314
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BA(r, a, is, v,...)
Definition: glue.h:285
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FB(r, a, is, v,...)
Definition: glue.h:350
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_50(r, a, is, v,...)
Definition: glue.h:179
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E9(r, a, is, v,...)
Definition: glue.h:332
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_98(r, a, is, v,...)
Definition: glue.h:251
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3E(r, a, is, v,...)
Definition: glue.h:161
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B3(r, a, is, v,...)
Definition: glue.h:278
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_15(r, a, is, v,...)
Definition: glue.h:120
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3F(r, a, is, v,...)
Definition: glue.h:162
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_08(r, a, is, v,...)
Definition: glue.h:107
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0D(r, a, is, v,...)
Definition: glue.h:112
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D8(r, a, is, v,...)
Definition: glue.h:315
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F2(r, a, is, v,...)
Definition: glue.h:341
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D2(r, a, is, v,...)
Definition: glue.h:309
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2A(r, a, is, v,...)
Definition: glue.h:141
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3B(r, a, is, v,...)
Definition: glue.h:158
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8D(r, a, is, v,...)
Definition: glue.h:240
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_78(r, a, is, v,...)
Definition: glue.h:219
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E4(r, a, is, v,...)
Definition: glue.h:327
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E3(r, a, is, v,...)
Definition: glue.h:326
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D4(r, a, is, v,...)
Definition: glue.h:311
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_87(r, a, is, v,...)
Definition: glue.h:234
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_93(r, a, is, v,...)
Definition: glue.h:246
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EE(r, a, is, v,...)
Definition: glue.h:337
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_11(r, a, is, v,...)
Definition: glue.h:116
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_92(r, a, is, v,...)
Definition: glue.h:245
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_40(r, a, is, v,...)
Definition: glue.h:163
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_62(r, a, is, v,...)
Definition: glue.h:197
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F6(r, a, is, v,...)
Definition: glue.h:345
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4C(r, a, is, v,...)
Definition: glue.h:175
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CA(r, a, is, v,...)
Definition: glue.h:301
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C8(r, a, is, v,...)
Definition: glue.h:299
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A4(r, a, is, v,...)
Definition: glue.h:263
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8B(r, a, is, v,...)
Definition: glue.h:238
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_64(r, a, is, v,...)
Definition: glue.h:199
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7D(r, a, is, v,...)
Definition: glue.h:224
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2F(r, a, is, v,...)
Definition: glue.h:146
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F0(r, a, is, v,...)
Definition: glue.h:339
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7C(r, a, is, v,...)
Definition: glue.h:223
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST(i,...)
Definition: glue.h:96
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0A(r, a, is, v,...)
Definition: glue.h:109
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BE(r, a, is, v,...)
Definition: glue.h:289
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_30(r, a, is, v,...)
Definition: glue.h:147