pputl  0.2.1
pputl Preprocessor Utilities
glue.h
Go to the documentation of this file.
1 #ifndef PPUTL_JOIN_GLUE_H_INCLUDED
2 #define PPUTL_JOIN_GLUE_H_INCLUDED
3 #///// c++20
4 #///////////////////////////////////////////////////////////////////////////////
5 #/// @brief \link PPUTL_JOIN_GLUE PPUTL_JOIN_GLUE\endlink -
6 #/// joins [0, 256) args using a non-separatory glue token
7 #/// @file
8 #// __ ___
9 #// /\ \__/\_ \
10 #// _____ _____ __ __\ \ ,_\//\ \
11 #// /\ '__`\/\ '__`\/\ \/\ \\ \ \/ \ \ \
12 #// \ \ \_\ \ \ \_\ \ \ \_\ \\ \ \_ \_\ \_
13 #// \ \ ,__/\ \ ,__/\ \____/ \ \__\/\____\
14 #// \ \ \ \ \ \ \/___/ \/__/\/____/
15 #// \/_/ \/_/
16 #//
17 #// pputl Preprocessor Utilities
18 #// Copyright (C) 2020 Justin Collier <m@jpcx.dev>
19 #//
20 #// This program is free software: you can redistribute it and/or modify
21 #// it under the terms of the GNU General Public License as published by
22 #// the Free Software Foundation, either version 3 of the License, or
23 #// (at your option) any later version.
24 #//
25 #// This program is distributed in the hope that it will be useful,
26 #// but WITHOUT ANY WARRANTY; without even the internalied warranty of
27 #// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 #// GNU General Public License for more details.
29 #// //
30 #// You should have received a copy of the GNU General Public License ///
31 #// along with this program. If not, see <https://www.gnu.org/licenses/>. ////
32 #///////////////////////////////////////////////////////////////////////////////
33 #
34 #include "pputl/cat.h"
35 #include "pputl/first.h"
36 #include "pputl/rest.h"
37 #include "pputl/tuple/elem.h"
38 #
39 #/// joins [0, 256) args using a non-separatory glue token
40 #///
41 #/// @param glue - token to insert between joined args
42 #/// @param ... - args to join
43 #/// @returns a single token of all joined arguments
44 #/// @code
45 #/// #include <pputl/join/glue.h>
46 #///
47 #/// PPUTL_JOIN_GLUE(_) // [expands to nothing]
48 #/// PPUTL_JOIN_GLUE(_, foo) // foo
49 #/// PPUTL_JOIN_GLUE(_, foo, bar) // foo_bar
50 #/// @endcode
51 #///
52 #/// @see PPUTL_JOIN_ANY
53 #/// @see PPUTL_JOIN_DOT
54 #/// @see PPUTL_JOIN_HYPHEN
55 #/// @see PPUTL_JOIN_SLASH
56 #/// @see PPUTL_JOIN_SPACE
57 #/// @see PPUTL_CAT
58 #///
59 #/// @ingroup join
60 #/// @anchor PPUTL_JOIN_GLUE
61 #define PPUTL_JOIN_GLUE(glue, ...)
64  PPUTL_DETAIL_JOIN_GLUE_REDUCER, (glue, PPUTL_FIRST(__VA_ARGS__)),
65  PPUTL_REST(__VA_ARGS__)))
66 #
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))
70 #
71 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE(reducer, initial, ...)
72  PPUTL_DETAIL_JOIN_GLUE_REDUCE_CHOOSER(__VA_ARGS__)
73  (reducer, initial,
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__(, )
90  __VA_ARGS__)
91 #
92 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT_X(a, b) a##b
93 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT(a, b)
95 #
96 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST(i, ...) i
97 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST(_, ...) __VA_ARGS__
98 #/* */ // clang-format off
99 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_00(r, a, is) a
100 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_01(r, a, is, v) r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is)
101 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_02(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_01(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
102 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_03(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_02(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
103 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_04(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_03(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
104 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_05(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_04(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
105 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_06(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_05(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
106 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_07(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_06(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
107 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_08(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_07(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
108 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_09(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_08(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
109 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_09(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
110 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
111 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
112 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
113 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
114 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
115 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_10(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_0F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
116 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_11(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_10(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
117 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_12(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_11(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
118 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_13(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_12(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
119 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_14(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_13(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
120 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_15(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_14(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
121 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_16(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_15(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
122 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_17(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_16(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
123 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_18(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_17(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
124 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_19(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_18(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
125 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_19(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
126 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
127 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
128 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
129 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
130 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
131 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_20(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_1F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
132 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_21(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_20(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
133 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_22(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_21(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
134 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_23(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_22(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
135 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_24(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_23(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
136 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_25(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_24(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
137 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_26(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_25(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
138 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_27(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_26(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
139 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_28(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_27(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
140 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_29(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_28(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
141 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_29(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
142 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
143 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
144 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
145 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
146 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
147 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_30(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_2F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
148 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_31(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_30(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
149 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_32(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_31(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
150 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_33(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_32(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
151 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_34(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_33(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
152 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_35(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_34(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
153 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_36(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_35(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
154 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_37(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_36(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
155 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_38(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_37(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
156 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_39(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_38(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
157 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_39(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
158 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
159 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
160 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
161 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
162 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
163 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_40(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_3F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
164 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_41(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_40(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
165 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_42(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_41(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
166 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_43(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_42(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
167 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_44(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_43(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
168 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_45(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_44(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
169 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_46(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_45(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
170 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_47(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_46(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
171 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_48(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_47(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
172 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_49(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_48(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
173 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_49(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
174 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
175 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
176 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
177 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
178 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
179 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_50(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_4F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
180 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_51(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_50(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
181 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_52(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_51(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
182 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_53(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_52(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
183 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_54(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_53(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
184 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_55(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_54(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
185 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_56(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_55(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
186 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_57(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_56(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
187 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_58(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_57(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
188 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_59(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_58(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
189 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_59(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
190 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
191 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
192 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
193 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
194 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
195 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_60(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_5F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
196 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_61(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_60(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
197 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_62(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_61(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
198 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_63(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_62(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
199 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_64(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_63(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
200 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_65(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_64(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
201 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_66(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_65(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
202 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_67(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_66(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
203 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_68(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_67(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
204 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_69(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_68(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
205 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_69(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
206 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
207 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
208 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
209 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
210 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
211 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_70(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_6F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
212 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_71(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_70(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
213 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_72(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_71(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
214 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_73(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_72(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
215 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_74(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_73(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
216 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_75(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_74(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
217 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_76(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_75(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
218 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_77(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_76(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
219 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_78(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_77(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
220 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_79(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_78(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
221 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_79(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
222 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
223 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
224 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
225 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
226 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
227 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_80(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_7F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
228 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_81(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_80(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
229 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_82(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_81(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
230 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_83(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_82(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
231 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_84(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_83(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
232 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_85(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_84(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
233 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_86(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_85(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
234 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_87(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_86(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
235 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_88(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_87(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
236 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_89(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_88(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
237 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_89(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
238 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
239 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
240 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
241 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
242 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
243 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_90(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_8F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
244 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_91(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_90(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
245 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_92(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_91(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
246 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_93(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_92(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
247 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_94(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_93(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
248 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_95(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_94(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
249 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_96(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_95(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
250 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_97(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_96(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
251 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_98(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_97(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
252 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_99(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_98(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
253 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9A(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_99(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
254 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9B(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9A(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
255 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9C(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9B(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
256 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9D(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9C(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
257 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9E(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9D(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
258 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9F(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9E(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
259 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_9F(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
260 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
261 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
262 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
263 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
264 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
265 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
266 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
267 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
268 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
269 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_A9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
270 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
271 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
272 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AD(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
273 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AD(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
274 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
275 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_AF(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
276 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
277 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
278 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
279 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
280 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
281 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
282 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
283 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
284 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
285 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_B9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
286 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
287 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
288 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BD(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
289 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BD(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
290 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
291 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_BF(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
292 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
293 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
294 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
295 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
296 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
297 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
298 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
299 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
300 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
301 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_C9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
302 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
303 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
304 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CD(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
305 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CD(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
306 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
307 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_CF(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
308 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
309 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
310 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
311 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
312 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
313 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
314 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
315 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
316 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
317 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_D9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
318 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
319 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
320 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DD(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
321 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DD(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
322 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
323 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_DF(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
324 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
325 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
326 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
327 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
328 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
329 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
330 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
331 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
332 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
333 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_E9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
334 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_EA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
335 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_EB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
336 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_ED(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_EC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
337 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_ED(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
338 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_EE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
339 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F0(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_EF(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
340 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F1(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F0(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
341 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F2(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F1(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
342 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F3(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F2(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
343 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F4(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F3(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
344 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F5(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F4(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
345 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F6(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F5(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
346 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F7(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F6(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
347 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F8(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F7(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
348 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F9(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F8(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
349 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FA(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_F9(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
350 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FB(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_FA(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
351 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FC(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_FB(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
352 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FD(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_FC(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
353 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FE(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_FD(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
354 #define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FF(r, a, is, v, ...) PPUTL_DETAIL_JOIN_GLUE_REDUCE_FE(r, r(a, v, PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST is), (PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST is), __VA_ARGS__)
355 #/* */ // clang-format on
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,
374  size, ...)
375  PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT(PPUTL_DETAIL_JOIN_GLUE_REDUCE_, size)
376 #
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)
394 #
395 #endif
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F8(r, a, is, v,...)
Definition: glue.h:347
PPUTL_DETAIL_JOIN_GLUE_REDUCE_79
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_79(r, a, is, v,...)
Definition: glue.h:220
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0B(r, a, is, v,...)
Definition: glue.h:110
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8F(r, a, is, v,...)
Definition: glue.h:242
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A6(r, a, is, v,...)
Definition: glue.h:265
PPUTL_DETAIL_JOIN_GLUE_REDUCER
#define PPUTL_DETAIL_JOIN_GLUE_REDUCER(a, v, i)
Definition: glue.h:67
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AC(r, a, is, v,...)
Definition: glue.h:271
PPUTL_DETAIL_JOIN_GLUE_REDUCE_65
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_65(r, a, is, v,...)
Definition: glue.h:200
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A8(r, a, is, v,...)
Definition: glue.h:267
PPUTL_DETAIL_JOIN_GLUE_REDUCE_53
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_53(r, a, is, v,...)
Definition: glue.h:182
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A5(r, a, is, v,...)
Definition: glue.h:264
PPUTL_DETAIL_JOIN_GLUE_REDUCE_74
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_74(r, a, is, v,...)
Definition: glue.h:215
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A7(r, a, is, v,...)
Definition: glue.h:266
PPUTL_DETAIL_JOIN_GLUE_REDUCE_04
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_04(r, a, is, v,...)
Definition: glue.h:103
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6F(r, a, is, v,...)
Definition: glue.h:210
PPUTL_DETAIL_JOIN_GLUE_REDUCE_22
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_22(r, a, is, v,...)
Definition: glue.h:133
PPUTL_DETAIL_JOIN_GLUE_REDUCE_03
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_03(r, a, is, v,...)
Definition: glue.h:102
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8A(r, a, is, v,...)
Definition: glue.h:237
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D6(r, a, is, v,...)
Definition: glue.h:313
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9C(r, a, is, v,...)
Definition: glue.h:255
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B4(r, a, is, v,...)
Definition: glue.h:279
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7F(r, a, is, v,...)
Definition: glue.h:226
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CE(r, a, is, v,...)
Definition: glue.h:305
PPUTL_DETAIL_JOIN_GLUE_REDUCE_45
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_45(r, a, is, v,...)
Definition: glue.h:168
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A1(r, a, is, v,...)
Definition: glue.h:260
PPUTL_DETAIL_JOIN_GLUE_REDUCE_77
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_77(r, a, is, v,...)
Definition: glue.h:218
PPUTL_DETAIL_JOIN_GLUE_REDUCE_13
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_13(r, a, is, v,...)
Definition: glue.h:118
PPUTL_DETAIL_JOIN_GLUE_REDUCE_39
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_39(r, a, is, v,...)
Definition: glue.h:156
PPUTL_DETAIL_JOIN_GLUE_REDUCE_49
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_49(r, a, is, v,...)
Definition: glue.h:172
PPUTL_DETAIL_JOIN_GLUE_REDUCE_91
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_91(r, a, is, v,...)
Definition: glue.h:244
PPUTL_DETAIL_JOIN_GLUE_REDUCE_32
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_32(r, a, is, v,...)
Definition: glue.h:149
PPUTL_DETAIL_JOIN_GLUE_REDUCE_06
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_06(r, a, is, v,...)
Definition: glue.h:105
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7A(r, a, is, v,...)
Definition: glue.h:221
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E1(r, a, is, v,...)
Definition: glue.h:324
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D9(r, a, is, v,...)
Definition: glue.h:316
PPUTL_DETAIL_JOIN_GLUE_REDUCE_05
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_05(r, a, is, v,...)
Definition: glue.h:104
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1B(r, a, is, v,...)
Definition: glue.h:126
PPUTL_DETAIL_JOIN_GLUE_REDUCE_24
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_24(r, a, is, v,...)
Definition: glue.h:135
PPUTL_DETAIL_JOIN_GLUE_REDUCE_96
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_96(r, a, is, v,...)
Definition: glue.h:249
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E6(r, a, is, v,...)
Definition: glue.h:329
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F1(r, a, is, v,...)
Definition: glue.h:340
PPUTL_DETAIL_JOIN_GLUE_REDUCE_38
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_38(r, a, is, v,...)
Definition: glue.h:155
PPUTL_DETAIL_JOIN_GLUE_REDUCE_19
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_19(r, a, is, v,...)
Definition: glue.h:124
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D1(r, a, is, v,...)
Definition: glue.h:308
PPUTL_DETAIL_JOIN_GLUE_REDUCE_60
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_60(r, a, is, v,...)
Definition: glue.h:195
PPUTL_DETAIL_JOIN_GLUE_REDUCE_82
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_82(r, a, is, v,...)
Definition: glue.h:229
PPUTL_DETAIL_JOIN_GLUE_REDUCE_67
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_67(r, a, is, v,...)
Definition: glue.h:202
PPUTL_DETAIL_JOIN_GLUE_REDUCE_89
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_89(r, a, is, v,...)
Definition: glue.h:236
PPUTL_DETAIL_JOIN_GLUE_REDUCE_31
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_31(r, a, is, v,...)
Definition: glue.h:148
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6A(r, a, is, v,...)
Definition: glue.h:205
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A9(r, a, is, v,...)
Definition: glue.h:268
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BC(r, a, is, v,...)
Definition: glue.h:287
PPUTL_DETAIL_JOIN_GLUE_REDUCE_EC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EC(r, a, is, v,...)
Definition: glue.h:335
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CF
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CF(r, a, is, v,...)
Definition: glue.h:306
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7E(r, a, is, v,...)
Definition: glue.h:225
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5F(r, a, is, v,...)
Definition: glue.h:194
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C4(r, a, is, v,...)
Definition: glue.h:295
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A0(r, a, is, v,...)
Definition: glue.h:259
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3A(r, a, is, v,...)
Definition: glue.h:157
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5B(r, a, is, v,...)
Definition: glue.h:190
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9B(r, a, is, v,...)
Definition: glue.h:254
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2C(r, a, is, v,...)
Definition: glue.h:143
PPUTL_DETAIL_JOIN_GLUE_REDUCE_63
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_63(r, a, is, v,...)
Definition: glue.h:198
PPUTL_DETAIL_JOIN_GLUE_REDUCE_42
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_42(r, a, is, v,...)
Definition: glue.h:165
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0E(r, a, is, v,...)
Definition: glue.h:113
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT(a, b)
Definition: glue.h:93
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B1(r, a, is, v,...)
Definition: glue.h:276
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F3(r, a, is, v,...)
Definition: glue.h:342
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DD
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DD(r, a, is, v,...)
Definition: glue.h:320
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FA(r, a, is, v,...)
Definition: glue.h:349
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B9(r, a, is, v,...)
Definition: glue.h:284
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CB(r, a, is, v,...)
Definition: glue.h:302
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C9(r, a, is, v,...)
Definition: glue.h:300
PPUTL_DETAIL_JOIN_GLUE_REDUCE_68
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_68(r, a, is, v,...)
Definition: glue.h:203
PPUTL_DETAIL_JOIN_GLUE_REDUCE_10
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_10(r, a, is, v,...)
Definition: glue.h:115
PPUTL_DETAIL_JOIN_GLUE_REDUCE_17
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_17(r, a, is, v,...)
Definition: glue.h:122
PPUTL_DETAIL_JOIN_GLUE_REDUCE_83
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_83(r, a, is, v,...)
Definition: glue.h:230
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9D(r, a, is, v,...)
Definition: glue.h:256
PPUTL_DETAIL_JOIN_GLUE_REDUCE_52
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_52(r, a, is, v,...)
Definition: glue.h:181
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B8(r, a, is, v,...)
Definition: glue.h:283
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6E(r, a, is, v,...)
Definition: glue.h:209
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AF
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AF(r, a, is, v,...)
Definition: glue.h:274
PPUTL_DETAIL_JOIN_GLUE_REDUCE_76
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_76(r, a, is, v,...)
Definition: glue.h:217
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8C(r, a, is, v,...)
Definition: glue.h:239
PPUTL_DETAIL_JOIN_GLUE_REDUCE_73
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_73(r, a, is, v,...)
Definition: glue.h:214
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F7(r, a, is, v,...)
Definition: glue.h:346
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4A(r, a, is, v,...)
Definition: glue.h:173
PPUTL_DETAIL_JOIN_GLUE_REDUCE_EF
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EF(r, a, is, v,...)
Definition: glue.h:338
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C2(r, a, is, v,...)
Definition: glue.h:293
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6C(r, a, is, v,...)
Definition: glue.h:207
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B7(r, a, is, v,...)
Definition: glue.h:282
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CC(r, a, is, v,...)
Definition: glue.h:303
PPUTL_DETAIL_JOIN_GLUE_REDUCE_57
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_57(r, a, is, v,...)
Definition: glue.h:186
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1A(r, a, is, v,...)
Definition: glue.h:125
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B5(r, a, is, v,...)
Definition: glue.h:280
PPUTL_TUPLE_ELEM
#define PPUTL_TUPLE_ELEM(idx, tup)
Definition: elem.h:41
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DE(r, a, is, v,...)
Definition: glue.h:321
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E8(r, a, is, v,...)
Definition: glue.h:331
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AD
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AD(r, a, is, v,...)
Definition: glue.h:272
PPUTL_DETAIL_JOIN_GLUE_REDUCE_34
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_34(r, a, is, v,...)
Definition: glue.h:151
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BD
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BD(r, a, is, v,...)
Definition: glue.h:288
PPUTL_DETAIL_JOIN_GLUE_REDUCE_29
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_29(r, a, is, v,...)
Definition: glue.h:140
PPUTL_DETAIL_JOIN_GLUE_REDUCE_95
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_95(r, a, is, v,...)
Definition: glue.h:248
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B6(r, a, is, v,...)
Definition: glue.h:281
PPUTL_DETAIL_JOIN_GLUE_REDUCE_94
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_94(r, a, is, v,...)
Definition: glue.h:247
PPUTL_DETAIL_JOIN_GLUE_REDUCE_84
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_84(r, a, is, v,...)
Definition: glue.h:231
PPUTL_DETAIL_JOIN_GLUE_REDUCE_20
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_20(r, a, is, v,...)
Definition: glue.h:131
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3D(r, a, is, v,...)
Definition: glue.h:160
PPUTL_DETAIL_JOIN_GLUE_REDUCE_75
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_75(r, a, is, v,...)
Definition: glue.h:216
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1E(r, a, is, v,...)
Definition: glue.h:129
PPUTL_DETAIL_JOIN_GLUE_REDUCE_61
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_61(r, a, is, v,...)
Definition: glue.h:196
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C0(r, a, is, v,...)
Definition: glue.h:291
PPUTL_DETAIL_JOIN_GLUE_REDUCE_80
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_80(r, a, is, v,...)
Definition: glue.h:227
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1F(r, a, is, v,...)
Definition: glue.h:130
PPUTL_REST
#define PPUTL_REST(...)
Definition: rest.h:49
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E5(r, a, is, v,...)
Definition: glue.h:328
PPUTL_DETAIL_JOIN_GLUE_REDUCE_EB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EB(r, a, is, v,...)
Definition: glue.h:334
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9E(r, a, is, v,...)
Definition: glue.h:257
PPUTL_DETAIL_JOIN_GLUE_REDUCE_59
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_59(r, a, is, v,...)
Definition: glue.h:188
PPUTL_DETAIL_JOIN_GLUE_REDUCE_97
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_97(r, a, is, v,...)
Definition: glue.h:250
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5D(r, a, is, v,...)
Definition: glue.h:192
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BB(r, a, is, v,...)
Definition: glue.h:286
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5C(r, a, is, v,...)
Definition: glue.h:191
PPUTL_DETAIL_JOIN_GLUE_REDUCE_81
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_81(r, a, is, v,...)
Definition: glue.h:228
PPUTL_DETAIL_JOIN_GLUE_REDUCE_99
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_99(r, a, is, v,...)
Definition: glue.h:252
PPUTL_DETAIL_JOIN_GLUE_REDUCE_69
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_69(r, a, is, v,...)
Definition: glue.h:204
PPUTL_DETAIL_JOIN_GLUE_REDUCE_54
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_54(r, a, is, v,...)
Definition: glue.h:183
PPUTL_DETAIL_JOIN_GLUE_REDUCE_25
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_25(r, a, is, v,...)
Definition: glue.h:136
PPUTL_DETAIL_JOIN_GLUE_REDUCE_88
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_88(r, a, is, v,...)
Definition: glue.h:235
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1D(r, a, is, v,...)
Definition: glue.h:128
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F9(r, a, is, v,...)
Definition: glue.h:348
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6D(r, a, is, v,...)
Definition: glue.h:208
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2E(r, a, is, v,...)
Definition: glue.h:145
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CD
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CD(r, a, is, v,...)
Definition: glue.h:304
PPUTL_DETAIL_JOIN_GLUE_REDUCE_47
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_47(r, a, is, v,...)
Definition: glue.h:170
PPUTL_DETAIL_JOIN_GLUE_REDUCE_85
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_85(r, a, is, v,...)
Definition: glue.h:232
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DB(r, a, is, v,...)
Definition: glue.h:318
PPUTL_DETAIL_JOIN_GLUE_REDUCE_66
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_66(r, a, is, v,...)
Definition: glue.h:201
PPUTL_DETAIL_JOIN_GLUE_REDUCE_23
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_23(r, a, is, v,...)
Definition: glue.h:134
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3C(r, a, is, v,...)
Definition: glue.h:159
PPUTL_DETAIL_JOIN_GLUE_REDUCE_02
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_02(r, a, is, v,...)
Definition: glue.h:101
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5E(r, a, is, v,...)
Definition: glue.h:193
PPUTL_DETAIL_JOIN_GLUE_REDUCE_5A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_5A(r, a, is, v,...)
Definition: glue.h:189
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C1
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C1(r, a, is, v,...)
Definition: glue.h:292
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C6(r, a, is, v,...)
Definition: glue.h:297
PPUTL_DETAIL_JOIN_GLUE_REDUCE_44
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_44(r, a, is, v,...)
Definition: glue.h:167
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C5(r, a, is, v,...)
Definition: glue.h:296
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0F(r, a, is, v,...)
Definition: glue.h:114
PPUTL_DETAIL_JOIN_GLUE_REDUCE_37
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_37(r, a, is, v,...)
Definition: glue.h:154
PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_REST(_,...)
Definition: glue.h:97
PPUTL_DETAIL_JOIN_GLUE_REDUCE_43
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_43(r, a, is, v,...)
Definition: glue.h:166
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DC(r, a, is, v,...)
Definition: glue.h:319
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FC
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FC(r, a, is, v,...)
Definition: glue.h:351
PPUTL_DETAIL_JOIN_GLUE_REDUCE_12
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_12(r, a, is, v,...)
Definition: glue.h:117
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D5(r, a, is, v,...)
Definition: glue.h:312
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E0(r, a, is, v,...)
Definition: glue.h:323
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D3(r, a, is, v,...)
Definition: glue.h:310
PPUTL_DETAIL_JOIN_GLUE_REDUCE_46
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_46(r, a, is, v,...)
Definition: glue.h:169
PPUTL_DETAIL_JOIN_GLUE_REDUCE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE(reducer, initial,...)
Definition: glue.h:71
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4D(r, a, is, v,...)
Definition: glue.h:176
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FD
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FD(r, a, is, v,...)
Definition: glue.h:352
PPUTL_DETAIL_JOIN_GLUE_REDUCE_56
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_56(r, a, is, v,...)
Definition: glue.h:185
PPUTL_DETAIL_JOIN_GLUE_REDUCE_21
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_21(r, a, is, v,...)
Definition: glue.h:132
PPUTL_DETAIL_JOIN_GLUE_REDUCE_36
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_36(r, a, is, v,...)
Definition: glue.h:153
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2B(r, a, is, v,...)
Definition: glue.h:142
PPUTL_DETAIL_JOIN_GLUE_REDUCE_01
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_01(r, a, is, v)
Definition: glue.h:100
PPUTL_DETAIL_JOIN_GLUE_REDUCE_18
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_18(r, a, is, v,...)
Definition: glue.h:123
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4F(r, a, is, v,...)
Definition: glue.h:178
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A2(r, a, is, v,...)
Definition: glue.h:261
PPUTL_DETAIL_JOIN_GLUE_REDUCE_35
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_35(r, a, is, v,...)
Definition: glue.h:152
PPUTL_DETAIL_JOIN_GLUE_REDUCE_14
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_14(r, a, is, v,...)
Definition: glue.h:119
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7B(r, a, is, v,...)
Definition: glue.h:222
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8E(r, a, is, v,...)
Definition: glue.h:241
PPUTL_DETAIL_JOIN_GLUE_REDUCE_90
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_90(r, a, is, v,...)
Definition: glue.h:243
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B0(r, a, is, v,...)
Definition: glue.h:275
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AB(r, a, is, v,...)
Definition: glue.h:270
PPUTL_DETAIL_JOIN_GLUE_REDUCE_55
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_55(r, a, is, v,...)
Definition: glue.h:184
PPUTL_DETAIL_JOIN_GLUE_REDUCE_33
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_33(r, a, is, v,...)
Definition: glue.h:150
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BF
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BF(r, a, is, v,...)
Definition: glue.h:290
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT_X
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CAT_X(a, b)
Definition: glue.h:92
PPUTL_DETAIL_JOIN_GLUE_REDUCE_26
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_26(r, a, is, v,...)
Definition: glue.h:137
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E2(r, a, is, v,...)
Definition: glue.h:325
PPUTL_DETAIL_JOIN_GLUE_REDUCE_58
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_58(r, a, is, v,...)
Definition: glue.h:187
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4B(r, a, is, v,...)
Definition: glue.h:174
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9A(r, a, is, v,...)
Definition: glue.h:253
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0C(r, a, is, v,...)
Definition: glue.h:111
PPUTL_DETAIL_JOIN_GLUE_REDUCE_27
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_27(r, a, is, v,...)
Definition: glue.h:138
PPUTL_DETAIL_JOIN_GLUE_REDUCE_09
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_09(r, a, is, v,...)
Definition: glue.h:108
PPUTL_DETAIL_JOIN_GLUE_REDUCE_EA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EA(r, a, is, v,...)
Definition: glue.h:333
PPUTL_DETAIL_JOIN_GLUE_REDUCE_28
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_28(r, a, is, v,...)
Definition: glue.h:139
PPUTL_DETAIL_JOIN_GLUE_REDUCE_86
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_86(r, a, is, v,...)
Definition: glue.h:233
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2D(r, a, is, v,...)
Definition: glue.h:144
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C7(r, a, is, v,...)
Definition: glue.h:298
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FE(r, a, is, v,...)
Definition: glue.h:353
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F4(r, a, is, v,...)
Definition: glue.h:343
PPUTL_DETAIL_JOIN_GLUE_REDUCE_16
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_16(r, a, is, v,...)
Definition: glue.h:121
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A3(r, a, is, v,...)
Definition: glue.h:262
PPUTL_DETAIL_JOIN_GLUE_REDUCE_72
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_72(r, a, is, v,...)
Definition: glue.h:213
PPUTL_DETAIL_JOIN_GLUE_REDUCE_71
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_71(r, a, is, v,...)
Definition: glue.h:212
PPUTL_DETAIL_JOIN_GLUE_REDUCE_1C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_1C(r, a, is, v,...)
Definition: glue.h:127
PPUTL_DETAIL_JOIN_GLUE_REDUCE_70
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_70(r, a, is, v,...)
Definition: glue.h:211
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D0(r, a, is, v,...)
Definition: glue.h:307
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F5
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F5(r, a, is, v,...)
Definition: glue.h:344
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AE(r, a, is, v,...)
Definition: glue.h:273
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DA(r, a, is, v,...)
Definition: glue.h:317
PPUTL_DETAIL_JOIN_GLUE_REDUCE_51
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_51(r, a, is, v,...)
Definition: glue.h:180
PPUTL_DETAIL_JOIN_GLUE_REDUCE_DF
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_DF(r, a, is, v,...)
Definition: glue.h:322
PPUTL_DETAIL_JOIN_GLUE_REDUCE_9F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_9F(r, a, is, v,...)
Definition: glue.h:258
PPUTL_DETAIL_JOIN_GLUE_REDUCE_07
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_07(r, a, is, v,...)
Definition: glue.h:106
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E7(r, a, is, v,...)
Definition: glue.h:330
PPUTL_DETAIL_JOIN_GLUE_REDUCE_ED
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_ED(r, a, is, v,...)
Definition: glue.h:336
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B2(r, a, is, v,...)
Definition: glue.h:277
PPUTL_DETAIL_JOIN_GLUE_REDUCE_AA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_AA(r, a, is, v,...)
Definition: glue.h:269
PPUTL_DETAIL_JOIN_GLUE_REDUCE_48
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_48(r, a, is, v,...)
Definition: glue.h:171
PPUTL_DETAIL_JOIN_GLUE_REDUCE_41
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_41(r, a, is, v,...)
Definition: glue.h:164
PPUTL_FIRST
#define PPUTL_FIRST(...)
Definition: first.h:48
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C3(r, a, is, v,...)
Definition: glue.h:294
PPUTL_DETAIL_JOIN_GLUE_REDUCE_6B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_6B(r, a, is, v,...)
Definition: glue.h:206
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4E(r, a, is, v,...)
Definition: glue.h:177
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D7
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D7(r, a, is, v,...)
Definition: glue.h:314
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BA(r, a, is, v,...)
Definition: glue.h:285
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FB
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FB(r, a, is, v,...)
Definition: glue.h:350
PPUTL_DETAIL_JOIN_GLUE_REDUCE_50
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_50(r, a, is, v,...)
Definition: glue.h:179
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E9
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E9(r, a, is, v,...)
Definition: glue.h:332
PPUTL_DETAIL_JOIN_GLUE_REDUCE_98
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_98(r, a, is, v,...)
Definition: glue.h:251
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3E
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3E(r, a, is, v,...)
Definition: glue.h:161
PPUTL_DETAIL_JOIN_GLUE_REDUCE_B3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_B3(r, a, is, v,...)
Definition: glue.h:278
PPUTL_DETAIL_JOIN_GLUE_REDUCE_15
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_15(r, a, is, v,...)
Definition: glue.h:120
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3F(r, a, is, v,...)
Definition: glue.h:162
PPUTL_DETAIL_JOIN_GLUE_REDUCE_08
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_08(r, a, is, v,...)
Definition: glue.h:107
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0D(r, a, is, v,...)
Definition: glue.h:112
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D8(r, a, is, v,...)
Definition: glue.h:315
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F2(r, a, is, v,...)
Definition: glue.h:341
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D2
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D2(r, a, is, v,...)
Definition: glue.h:309
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2A(r, a, is, v,...)
Definition: glue.h:141
PPUTL_DETAIL_JOIN_GLUE_REDUCE_3B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_3B(r, a, is, v,...)
Definition: glue.h:158
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8D(r, a, is, v,...)
Definition: glue.h:240
PPUTL_DETAIL_JOIN_GLUE_REDUCE_78
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_78(r, a, is, v,...)
Definition: glue.h:219
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E4(r, a, is, v,...)
Definition: glue.h:327
PPUTL_DETAIL_JOIN_GLUE_REDUCE_E3
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_E3(r, a, is, v,...)
Definition: glue.h:326
PPUTL_DETAIL_JOIN_GLUE_REDUCE_D4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_D4(r, a, is, v,...)
Definition: glue.h:311
PPUTL_DETAIL_JOIN_GLUE_REDUCE_87
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_87(r, a, is, v,...)
Definition: glue.h:234
PPUTL_DETAIL_JOIN_GLUE_REDUCE_93
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_93(r, a, is, v,...)
Definition: glue.h:246
PPUTL_DETAIL_JOIN_GLUE_REDUCE_EE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_EE(r, a, is, v,...)
Definition: glue.h:337
PPUTL_DETAIL_JOIN_GLUE_REDUCE_11
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_11(r, a, is, v,...)
Definition: glue.h:116
PPUTL_DETAIL_JOIN_GLUE_REDUCE_92
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_92(r, a, is, v,...)
Definition: glue.h:245
PPUTL_DETAIL_JOIN_GLUE_REDUCE_40
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_40(r, a, is, v,...)
Definition: glue.h:163
PPUTL_DETAIL_JOIN_GLUE_REDUCE_62
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_62(r, a, is, v,...)
Definition: glue.h:197
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F6
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F6(r, a, is, v,...)
Definition: glue.h:345
PPUTL_DETAIL_JOIN_GLUE_REDUCE_4C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_4C(r, a, is, v,...)
Definition: glue.h:175
PPUTL_DETAIL_JOIN_GLUE_REDUCE_CA
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_CA(r, a, is, v,...)
Definition: glue.h:301
PPUTL_DETAIL_JOIN_GLUE_REDUCE_C8
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_C8(r, a, is, v,...)
Definition: glue.h:299
PPUTL_DETAIL_JOIN_GLUE_REDUCE_A4
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_A4(r, a, is, v,...)
Definition: glue.h:263
PPUTL_DETAIL_JOIN_GLUE_REDUCE_8B
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_8B(r, a, is, v,...)
Definition: glue.h:238
PPUTL_DETAIL_JOIN_GLUE_REDUCE_64
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_64(r, a, is, v,...)
Definition: glue.h:199
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7D
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7D(r, a, is, v,...)
Definition: glue.h:224
PPUTL_DETAIL_JOIN_GLUE_REDUCE_2F
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_2F(r, a, is, v,...)
Definition: glue.h:146
PPUTL_DETAIL_JOIN_GLUE_REDUCE_F0
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_F0(r, a, is, v,...)
Definition: glue.h:339
PPUTL_DETAIL_JOIN_GLUE_REDUCE_7C
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_7C(r, a, is, v,...)
Definition: glue.h:223
PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_FIRST(i,...)
Definition: glue.h:96
PPUTL_DETAIL_JOIN_GLUE_REDUCE_0A
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_0A(r, a, is, v,...)
Definition: glue.h:109
PPUTL_DETAIL_JOIN_GLUE_REDUCE_BE
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_BE(r, a, is, v,...)
Definition: glue.h:289
PPUTL_DETAIL_JOIN_GLUE_REDUCE_30
#define PPUTL_DETAIL_JOIN_GLUE_REDUCE_30(r, a, is, v,...)
Definition: glue.h:147