1 // Copyright 2023 gRPC authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 //
16 // Automatically generated by tools/codegen/core/gen_if_list.py
17 //
18
19 #ifndef GRPC_SRC_CORE_LIB_GPRPP_IF_LIST_H
20 #define GRPC_SRC_CORE_LIB_GPRPP_IF_LIST_H
21
22 #include <grpc/support/port_platform.h>
23
24 namespace grpc_core {
25
26 template <typename CheckArg, typename ActionArg, typename ActionFail,
27 typename Check0, typename Action0>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Action0 action0)28 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
29 Check0 check0, Action0 action0) {
30 if (check0(input)) return action0(action_arg);
31 return action_fail(action_arg);
32 }
33
34 template <typename CheckArg, typename ActionArg, typename ActionFail,
35 typename Check0, typename Check1, typename Action0, typename Action1>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Action0 action0,Action1 action1)36 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
37 Check0 check0, Check1 check1, Action0 action0, Action1 action1) {
38 if (check0(input)) return action0(action_arg);
39 if (check1(input)) return action1(action_arg);
40 return action_fail(action_arg);
41 }
42
43 template <typename CheckArg, typename ActionArg, typename ActionFail,
44 typename Check0, typename Check1, typename Check2, typename Action0,
45 typename Action1, typename Action2>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Action0 action0,Action1 action1,Action2 action2)46 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
47 Check0 check0, Check1 check1, Check2 check2, Action0 action0,
48 Action1 action1, Action2 action2) {
49 if (check0(input)) return action0(action_arg);
50 if (check1(input)) return action1(action_arg);
51 if (check2(input)) return action2(action_arg);
52 return action_fail(action_arg);
53 }
54
55 template <typename CheckArg, typename ActionArg, typename ActionFail,
56 typename Check0, typename Check1, typename Check2, typename Check3,
57 typename Action0, typename Action1, typename Action2,
58 typename Action3>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Action0 action0,Action1 action1,Action2 action2,Action3 action3)59 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
60 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
61 Action0 action0, Action1 action1, Action2 action2,
62 Action3 action3) {
63 if (check0(input)) return action0(action_arg);
64 if (check1(input)) return action1(action_arg);
65 if (check2(input)) return action2(action_arg);
66 if (check3(input)) return action3(action_arg);
67 return action_fail(action_arg);
68 }
69
70 template <typename CheckArg, typename ActionArg, typename ActionFail,
71 typename Check0, typename Check1, typename Check2, typename Check3,
72 typename Check4, typename Action0, typename Action1, typename Action2,
73 typename Action3, typename Action4>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4)74 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
75 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
76 Check4 check4, Action0 action0, Action1 action1, Action2 action2,
77 Action3 action3, Action4 action4) {
78 if (check0(input)) return action0(action_arg);
79 if (check1(input)) return action1(action_arg);
80 if (check2(input)) return action2(action_arg);
81 if (check3(input)) return action3(action_arg);
82 if (check4(input)) return action4(action_arg);
83 return action_fail(action_arg);
84 }
85
86 template <typename CheckArg, typename ActionArg, typename ActionFail,
87 typename Check0, typename Check1, typename Check2, typename Check3,
88 typename Check4, typename Check5, typename Action0, typename Action1,
89 typename Action2, typename Action3, typename Action4,
90 typename Action5>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5)91 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
92 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
93 Check4 check4, Check5 check5, Action0 action0, Action1 action1,
94 Action2 action2, Action3 action3, Action4 action4,
95 Action5 action5) {
96 if (check0(input)) return action0(action_arg);
97 if (check1(input)) return action1(action_arg);
98 if (check2(input)) return action2(action_arg);
99 if (check3(input)) return action3(action_arg);
100 if (check4(input)) return action4(action_arg);
101 if (check5(input)) return action5(action_arg);
102 return action_fail(action_arg);
103 }
104
105 template <typename CheckArg, typename ActionArg, typename ActionFail,
106 typename Check0, typename Check1, typename Check2, typename Check3,
107 typename Check4, typename Check5, typename Check6, typename Action0,
108 typename Action1, typename Action2, typename Action3,
109 typename Action4, typename Action5, typename Action6>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6)110 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
111 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
112 Check4 check4, Check5 check5, Check6 check6, Action0 action0,
113 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
114 Action5 action5, Action6 action6) {
115 if (check0(input)) return action0(action_arg);
116 if (check1(input)) return action1(action_arg);
117 if (check2(input)) return action2(action_arg);
118 if (check3(input)) return action3(action_arg);
119 if (check4(input)) return action4(action_arg);
120 if (check5(input)) return action5(action_arg);
121 if (check6(input)) return action6(action_arg);
122 return action_fail(action_arg);
123 }
124
125 template <typename CheckArg, typename ActionArg, typename ActionFail,
126 typename Check0, typename Check1, typename Check2, typename Check3,
127 typename Check4, typename Check5, typename Check6, typename Check7,
128 typename Action0, typename Action1, typename Action2,
129 typename Action3, typename Action4, typename Action5,
130 typename Action6, typename Action7>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7)131 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
132 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
133 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
134 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
135 Action4 action4, Action5 action5, Action6 action6,
136 Action7 action7) {
137 if (check0(input)) return action0(action_arg);
138 if (check1(input)) return action1(action_arg);
139 if (check2(input)) return action2(action_arg);
140 if (check3(input)) return action3(action_arg);
141 if (check4(input)) return action4(action_arg);
142 if (check5(input)) return action5(action_arg);
143 if (check6(input)) return action6(action_arg);
144 if (check7(input)) return action7(action_arg);
145 return action_fail(action_arg);
146 }
147
148 template <typename CheckArg, typename ActionArg, typename ActionFail,
149 typename Check0, typename Check1, typename Check2, typename Check3,
150 typename Check4, typename Check5, typename Check6, typename Check7,
151 typename Check8, typename Action0, typename Action1, typename Action2,
152 typename Action3, typename Action4, typename Action5,
153 typename Action6, typename Action7, typename Action8>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8)154 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
155 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
156 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
157 Check8 check8, Action0 action0, Action1 action1, Action2 action2,
158 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
159 Action7 action7, Action8 action8) {
160 if (check0(input)) return action0(action_arg);
161 if (check1(input)) return action1(action_arg);
162 if (check2(input)) return action2(action_arg);
163 if (check3(input)) return action3(action_arg);
164 if (check4(input)) return action4(action_arg);
165 if (check5(input)) return action5(action_arg);
166 if (check6(input)) return action6(action_arg);
167 if (check7(input)) return action7(action_arg);
168 if (check8(input)) return action8(action_arg);
169 return action_fail(action_arg);
170 }
171
172 template <typename CheckArg, typename ActionArg, typename ActionFail,
173 typename Check0, typename Check1, typename Check2, typename Check3,
174 typename Check4, typename Check5, typename Check6, typename Check7,
175 typename Check8, typename Check9, typename Action0, typename Action1,
176 typename Action2, typename Action3, typename Action4,
177 typename Action5, typename Action6, typename Action7,
178 typename Action8, typename Action9>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9)179 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
180 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
181 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
182 Check8 check8, Check9 check9, Action0 action0, Action1 action1,
183 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
184 Action6 action6, Action7 action7, Action8 action8,
185 Action9 action9) {
186 if (check0(input)) return action0(action_arg);
187 if (check1(input)) return action1(action_arg);
188 if (check2(input)) return action2(action_arg);
189 if (check3(input)) return action3(action_arg);
190 if (check4(input)) return action4(action_arg);
191 if (check5(input)) return action5(action_arg);
192 if (check6(input)) return action6(action_arg);
193 if (check7(input)) return action7(action_arg);
194 if (check8(input)) return action8(action_arg);
195 if (check9(input)) return action9(action_arg);
196 return action_fail(action_arg);
197 }
198
199 template <typename CheckArg, typename ActionArg, typename ActionFail,
200 typename Check0, typename Check1, typename Check2, typename Check3,
201 typename Check4, typename Check5, typename Check6, typename Check7,
202 typename Check8, typename Check9, typename Check10, typename Action0,
203 typename Action1, typename Action2, typename Action3,
204 typename Action4, typename Action5, typename Action6,
205 typename Action7, typename Action8, typename Action9,
206 typename Action10>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10)207 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
208 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
209 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
210 Check8 check8, Check9 check9, Check10 check10, Action0 action0,
211 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
212 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
213 Action9 action9, Action10 action10) {
214 if (check0(input)) return action0(action_arg);
215 if (check1(input)) return action1(action_arg);
216 if (check2(input)) return action2(action_arg);
217 if (check3(input)) return action3(action_arg);
218 if (check4(input)) return action4(action_arg);
219 if (check5(input)) return action5(action_arg);
220 if (check6(input)) return action6(action_arg);
221 if (check7(input)) return action7(action_arg);
222 if (check8(input)) return action8(action_arg);
223 if (check9(input)) return action9(action_arg);
224 if (check10(input)) return action10(action_arg);
225 return action_fail(action_arg);
226 }
227
228 template <typename CheckArg, typename ActionArg, typename ActionFail,
229 typename Check0, typename Check1, typename Check2, typename Check3,
230 typename Check4, typename Check5, typename Check6, typename Check7,
231 typename Check8, typename Check9, typename Check10, typename Check11,
232 typename Action0, typename Action1, typename Action2,
233 typename Action3, typename Action4, typename Action5,
234 typename Action6, typename Action7, typename Action8,
235 typename Action9, typename Action10, typename Action11>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11)236 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
237 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
238 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
239 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
240 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
241 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
242 Action8 action8, Action9 action9, Action10 action10,
243 Action11 action11) {
244 if (check0(input)) return action0(action_arg);
245 if (check1(input)) return action1(action_arg);
246 if (check2(input)) return action2(action_arg);
247 if (check3(input)) return action3(action_arg);
248 if (check4(input)) return action4(action_arg);
249 if (check5(input)) return action5(action_arg);
250 if (check6(input)) return action6(action_arg);
251 if (check7(input)) return action7(action_arg);
252 if (check8(input)) return action8(action_arg);
253 if (check9(input)) return action9(action_arg);
254 if (check10(input)) return action10(action_arg);
255 if (check11(input)) return action11(action_arg);
256 return action_fail(action_arg);
257 }
258
259 template <typename CheckArg, typename ActionArg, typename ActionFail,
260 typename Check0, typename Check1, typename Check2, typename Check3,
261 typename Check4, typename Check5, typename Check6, typename Check7,
262 typename Check8, typename Check9, typename Check10, typename Check11,
263 typename Check12, typename Action0, typename Action1,
264 typename Action2, typename Action3, typename Action4,
265 typename Action5, typename Action6, typename Action7,
266 typename Action8, typename Action9, typename Action10,
267 typename Action11, typename Action12>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12)268 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
269 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
270 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
271 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
272 Check12 check12, Action0 action0, Action1 action1, Action2 action2,
273 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
274 Action7 action7, Action8 action8, Action9 action9,
275 Action10 action10, Action11 action11, Action12 action12) {
276 if (check0(input)) return action0(action_arg);
277 if (check1(input)) return action1(action_arg);
278 if (check2(input)) return action2(action_arg);
279 if (check3(input)) return action3(action_arg);
280 if (check4(input)) return action4(action_arg);
281 if (check5(input)) return action5(action_arg);
282 if (check6(input)) return action6(action_arg);
283 if (check7(input)) return action7(action_arg);
284 if (check8(input)) return action8(action_arg);
285 if (check9(input)) return action9(action_arg);
286 if (check10(input)) return action10(action_arg);
287 if (check11(input)) return action11(action_arg);
288 if (check12(input)) return action12(action_arg);
289 return action_fail(action_arg);
290 }
291
292 template <
293 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
294 typename Check1, typename Check2, typename Check3, typename Check4,
295 typename Check5, typename Check6, typename Check7, typename Check8,
296 typename Check9, typename Check10, typename Check11, typename Check12,
297 typename Check13, typename Action0, typename Action1, typename Action2,
298 typename Action3, typename Action4, typename Action5, typename Action6,
299 typename Action7, typename Action8, typename Action9, typename Action10,
300 typename Action11, typename Action12, typename Action13>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13)301 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
302 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
303 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
304 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
305 Check12 check12, Check13 check13, Action0 action0, Action1 action1,
306 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
307 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
308 Action10 action10, Action11 action11, Action12 action12,
309 Action13 action13) {
310 if (check0(input)) return action0(action_arg);
311 if (check1(input)) return action1(action_arg);
312 if (check2(input)) return action2(action_arg);
313 if (check3(input)) return action3(action_arg);
314 if (check4(input)) return action4(action_arg);
315 if (check5(input)) return action5(action_arg);
316 if (check6(input)) return action6(action_arg);
317 if (check7(input)) return action7(action_arg);
318 if (check8(input)) return action8(action_arg);
319 if (check9(input)) return action9(action_arg);
320 if (check10(input)) return action10(action_arg);
321 if (check11(input)) return action11(action_arg);
322 if (check12(input)) return action12(action_arg);
323 if (check13(input)) return action13(action_arg);
324 return action_fail(action_arg);
325 }
326
327 template <typename CheckArg, typename ActionArg, typename ActionFail,
328 typename Check0, typename Check1, typename Check2, typename Check3,
329 typename Check4, typename Check5, typename Check6, typename Check7,
330 typename Check8, typename Check9, typename Check10, typename Check11,
331 typename Check12, typename Check13, typename Check14,
332 typename Action0, typename Action1, typename Action2,
333 typename Action3, typename Action4, typename Action5,
334 typename Action6, typename Action7, typename Action8,
335 typename Action9, typename Action10, typename Action11,
336 typename Action12, typename Action13, typename Action14>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14)337 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
338 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
339 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
340 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
341 Check12 check12, Check13 check13, Check14 check14, Action0 action0,
342 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
343 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
344 Action9 action9, Action10 action10, Action11 action11,
345 Action12 action12, Action13 action13, Action14 action14) {
346 if (check0(input)) return action0(action_arg);
347 if (check1(input)) return action1(action_arg);
348 if (check2(input)) return action2(action_arg);
349 if (check3(input)) return action3(action_arg);
350 if (check4(input)) return action4(action_arg);
351 if (check5(input)) return action5(action_arg);
352 if (check6(input)) return action6(action_arg);
353 if (check7(input)) return action7(action_arg);
354 if (check8(input)) return action8(action_arg);
355 if (check9(input)) return action9(action_arg);
356 if (check10(input)) return action10(action_arg);
357 if (check11(input)) return action11(action_arg);
358 if (check12(input)) return action12(action_arg);
359 if (check13(input)) return action13(action_arg);
360 if (check14(input)) return action14(action_arg);
361 return action_fail(action_arg);
362 }
363
364 template <
365 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
366 typename Check1, typename Check2, typename Check3, typename Check4,
367 typename Check5, typename Check6, typename Check7, typename Check8,
368 typename Check9, typename Check10, typename Check11, typename Check12,
369 typename Check13, typename Check14, typename Check15, typename Action0,
370 typename Action1, typename Action2, typename Action3, typename Action4,
371 typename Action5, typename Action6, typename Action7, typename Action8,
372 typename Action9, typename Action10, typename Action11, typename Action12,
373 typename Action13, typename Action14, typename Action15>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15)374 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
375 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
376 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
377 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
378 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
379 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
380 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
381 Action8 action8, Action9 action9, Action10 action10,
382 Action11 action11, Action12 action12, Action13 action13,
383 Action14 action14, Action15 action15) {
384 if (check0(input)) return action0(action_arg);
385 if (check1(input)) return action1(action_arg);
386 if (check2(input)) return action2(action_arg);
387 if (check3(input)) return action3(action_arg);
388 if (check4(input)) return action4(action_arg);
389 if (check5(input)) return action5(action_arg);
390 if (check6(input)) return action6(action_arg);
391 if (check7(input)) return action7(action_arg);
392 if (check8(input)) return action8(action_arg);
393 if (check9(input)) return action9(action_arg);
394 if (check10(input)) return action10(action_arg);
395 if (check11(input)) return action11(action_arg);
396 if (check12(input)) return action12(action_arg);
397 if (check13(input)) return action13(action_arg);
398 if (check14(input)) return action14(action_arg);
399 if (check15(input)) return action15(action_arg);
400 return action_fail(action_arg);
401 }
402
403 template <
404 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
405 typename Check1, typename Check2, typename Check3, typename Check4,
406 typename Check5, typename Check6, typename Check7, typename Check8,
407 typename Check9, typename Check10, typename Check11, typename Check12,
408 typename Check13, typename Check14, typename Check15, typename Check16,
409 typename Action0, typename Action1, typename Action2, typename Action3,
410 typename Action4, typename Action5, typename Action6, typename Action7,
411 typename Action8, typename Action9, typename Action10, typename Action11,
412 typename Action12, typename Action13, typename Action14, typename Action15,
413 typename Action16>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16)414 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
415 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
416 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
417 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
418 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
419 Check16 check16, Action0 action0, Action1 action1, Action2 action2,
420 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
421 Action7 action7, Action8 action8, Action9 action9,
422 Action10 action10, Action11 action11, Action12 action12,
423 Action13 action13, Action14 action14, Action15 action15,
424 Action16 action16) {
425 if (check0(input)) return action0(action_arg);
426 if (check1(input)) return action1(action_arg);
427 if (check2(input)) return action2(action_arg);
428 if (check3(input)) return action3(action_arg);
429 if (check4(input)) return action4(action_arg);
430 if (check5(input)) return action5(action_arg);
431 if (check6(input)) return action6(action_arg);
432 if (check7(input)) return action7(action_arg);
433 if (check8(input)) return action8(action_arg);
434 if (check9(input)) return action9(action_arg);
435 if (check10(input)) return action10(action_arg);
436 if (check11(input)) return action11(action_arg);
437 if (check12(input)) return action12(action_arg);
438 if (check13(input)) return action13(action_arg);
439 if (check14(input)) return action14(action_arg);
440 if (check15(input)) return action15(action_arg);
441 if (check16(input)) return action16(action_arg);
442 return action_fail(action_arg);
443 }
444
445 template <
446 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
447 typename Check1, typename Check2, typename Check3, typename Check4,
448 typename Check5, typename Check6, typename Check7, typename Check8,
449 typename Check9, typename Check10, typename Check11, typename Check12,
450 typename Check13, typename Check14, typename Check15, typename Check16,
451 typename Check17, typename Action0, typename Action1, typename Action2,
452 typename Action3, typename Action4, typename Action5, typename Action6,
453 typename Action7, typename Action8, typename Action9, typename Action10,
454 typename Action11, typename Action12, typename Action13, typename Action14,
455 typename Action15, typename Action16, typename Action17>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17)456 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
457 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
458 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
459 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
460 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
461 Check16 check16, Check17 check17, Action0 action0, Action1 action1,
462 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
463 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
464 Action10 action10, Action11 action11, Action12 action12,
465 Action13 action13, Action14 action14, Action15 action15,
466 Action16 action16, Action17 action17) {
467 if (check0(input)) return action0(action_arg);
468 if (check1(input)) return action1(action_arg);
469 if (check2(input)) return action2(action_arg);
470 if (check3(input)) return action3(action_arg);
471 if (check4(input)) return action4(action_arg);
472 if (check5(input)) return action5(action_arg);
473 if (check6(input)) return action6(action_arg);
474 if (check7(input)) return action7(action_arg);
475 if (check8(input)) return action8(action_arg);
476 if (check9(input)) return action9(action_arg);
477 if (check10(input)) return action10(action_arg);
478 if (check11(input)) return action11(action_arg);
479 if (check12(input)) return action12(action_arg);
480 if (check13(input)) return action13(action_arg);
481 if (check14(input)) return action14(action_arg);
482 if (check15(input)) return action15(action_arg);
483 if (check16(input)) return action16(action_arg);
484 if (check17(input)) return action17(action_arg);
485 return action_fail(action_arg);
486 }
487
488 template <
489 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
490 typename Check1, typename Check2, typename Check3, typename Check4,
491 typename Check5, typename Check6, typename Check7, typename Check8,
492 typename Check9, typename Check10, typename Check11, typename Check12,
493 typename Check13, typename Check14, typename Check15, typename Check16,
494 typename Check17, typename Check18, typename Action0, typename Action1,
495 typename Action2, typename Action3, typename Action4, typename Action5,
496 typename Action6, typename Action7, typename Action8, typename Action9,
497 typename Action10, typename Action11, typename Action12, typename Action13,
498 typename Action14, typename Action15, typename Action16, typename Action17,
499 typename Action18>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18)500 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
501 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
502 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
503 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
504 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
505 Check16 check16, Check17 check17, Check18 check18, Action0 action0,
506 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
507 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
508 Action9 action9, Action10 action10, Action11 action11,
509 Action12 action12, Action13 action13, Action14 action14,
510 Action15 action15, Action16 action16, Action17 action17,
511 Action18 action18) {
512 if (check0(input)) return action0(action_arg);
513 if (check1(input)) return action1(action_arg);
514 if (check2(input)) return action2(action_arg);
515 if (check3(input)) return action3(action_arg);
516 if (check4(input)) return action4(action_arg);
517 if (check5(input)) return action5(action_arg);
518 if (check6(input)) return action6(action_arg);
519 if (check7(input)) return action7(action_arg);
520 if (check8(input)) return action8(action_arg);
521 if (check9(input)) return action9(action_arg);
522 if (check10(input)) return action10(action_arg);
523 if (check11(input)) return action11(action_arg);
524 if (check12(input)) return action12(action_arg);
525 if (check13(input)) return action13(action_arg);
526 if (check14(input)) return action14(action_arg);
527 if (check15(input)) return action15(action_arg);
528 if (check16(input)) return action16(action_arg);
529 if (check17(input)) return action17(action_arg);
530 if (check18(input)) return action18(action_arg);
531 return action_fail(action_arg);
532 }
533
534 template <
535 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
536 typename Check1, typename Check2, typename Check3, typename Check4,
537 typename Check5, typename Check6, typename Check7, typename Check8,
538 typename Check9, typename Check10, typename Check11, typename Check12,
539 typename Check13, typename Check14, typename Check15, typename Check16,
540 typename Check17, typename Check18, typename Check19, typename Action0,
541 typename Action1, typename Action2, typename Action3, typename Action4,
542 typename Action5, typename Action6, typename Action7, typename Action8,
543 typename Action9, typename Action10, typename Action11, typename Action12,
544 typename Action13, typename Action14, typename Action15, typename Action16,
545 typename Action17, typename Action18, typename Action19>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19)546 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
547 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
548 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
549 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
550 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
551 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
552 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
553 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
554 Action8 action8, Action9 action9, Action10 action10,
555 Action11 action11, Action12 action12, Action13 action13,
556 Action14 action14, Action15 action15, Action16 action16,
557 Action17 action17, Action18 action18, Action19 action19) {
558 if (check0(input)) return action0(action_arg);
559 if (check1(input)) return action1(action_arg);
560 if (check2(input)) return action2(action_arg);
561 if (check3(input)) return action3(action_arg);
562 if (check4(input)) return action4(action_arg);
563 if (check5(input)) return action5(action_arg);
564 if (check6(input)) return action6(action_arg);
565 if (check7(input)) return action7(action_arg);
566 if (check8(input)) return action8(action_arg);
567 if (check9(input)) return action9(action_arg);
568 if (check10(input)) return action10(action_arg);
569 if (check11(input)) return action11(action_arg);
570 if (check12(input)) return action12(action_arg);
571 if (check13(input)) return action13(action_arg);
572 if (check14(input)) return action14(action_arg);
573 if (check15(input)) return action15(action_arg);
574 if (check16(input)) return action16(action_arg);
575 if (check17(input)) return action17(action_arg);
576 if (check18(input)) return action18(action_arg);
577 if (check19(input)) return action19(action_arg);
578 return action_fail(action_arg);
579 }
580
581 template <
582 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
583 typename Check1, typename Check2, typename Check3, typename Check4,
584 typename Check5, typename Check6, typename Check7, typename Check8,
585 typename Check9, typename Check10, typename Check11, typename Check12,
586 typename Check13, typename Check14, typename Check15, typename Check16,
587 typename Check17, typename Check18, typename Check19, typename Check20,
588 typename Action0, typename Action1, typename Action2, typename Action3,
589 typename Action4, typename Action5, typename Action6, typename Action7,
590 typename Action8, typename Action9, typename Action10, typename Action11,
591 typename Action12, typename Action13, typename Action14, typename Action15,
592 typename Action16, typename Action17, typename Action18, typename Action19,
593 typename Action20>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20)594 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
595 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
596 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
597 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
598 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
599 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
600 Check20 check20, Action0 action0, Action1 action1, Action2 action2,
601 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
602 Action7 action7, Action8 action8, Action9 action9,
603 Action10 action10, Action11 action11, Action12 action12,
604 Action13 action13, Action14 action14, Action15 action15,
605 Action16 action16, Action17 action17, Action18 action18,
606 Action19 action19, Action20 action20) {
607 if (check0(input)) return action0(action_arg);
608 if (check1(input)) return action1(action_arg);
609 if (check2(input)) return action2(action_arg);
610 if (check3(input)) return action3(action_arg);
611 if (check4(input)) return action4(action_arg);
612 if (check5(input)) return action5(action_arg);
613 if (check6(input)) return action6(action_arg);
614 if (check7(input)) return action7(action_arg);
615 if (check8(input)) return action8(action_arg);
616 if (check9(input)) return action9(action_arg);
617 if (check10(input)) return action10(action_arg);
618 if (check11(input)) return action11(action_arg);
619 if (check12(input)) return action12(action_arg);
620 if (check13(input)) return action13(action_arg);
621 if (check14(input)) return action14(action_arg);
622 if (check15(input)) return action15(action_arg);
623 if (check16(input)) return action16(action_arg);
624 if (check17(input)) return action17(action_arg);
625 if (check18(input)) return action18(action_arg);
626 if (check19(input)) return action19(action_arg);
627 if (check20(input)) return action20(action_arg);
628 return action_fail(action_arg);
629 }
630
631 template <
632 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
633 typename Check1, typename Check2, typename Check3, typename Check4,
634 typename Check5, typename Check6, typename Check7, typename Check8,
635 typename Check9, typename Check10, typename Check11, typename Check12,
636 typename Check13, typename Check14, typename Check15, typename Check16,
637 typename Check17, typename Check18, typename Check19, typename Check20,
638 typename Check21, typename Action0, typename Action1, typename Action2,
639 typename Action3, typename Action4, typename Action5, typename Action6,
640 typename Action7, typename Action8, typename Action9, typename Action10,
641 typename Action11, typename Action12, typename Action13, typename Action14,
642 typename Action15, typename Action16, typename Action17, typename Action18,
643 typename Action19, typename Action20, typename Action21>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21)644 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
645 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
646 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
647 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
648 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
649 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
650 Check20 check20, Check21 check21, Action0 action0, Action1 action1,
651 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
652 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
653 Action10 action10, Action11 action11, Action12 action12,
654 Action13 action13, Action14 action14, Action15 action15,
655 Action16 action16, Action17 action17, Action18 action18,
656 Action19 action19, Action20 action20, Action21 action21) {
657 if (check0(input)) return action0(action_arg);
658 if (check1(input)) return action1(action_arg);
659 if (check2(input)) return action2(action_arg);
660 if (check3(input)) return action3(action_arg);
661 if (check4(input)) return action4(action_arg);
662 if (check5(input)) return action5(action_arg);
663 if (check6(input)) return action6(action_arg);
664 if (check7(input)) return action7(action_arg);
665 if (check8(input)) return action8(action_arg);
666 if (check9(input)) return action9(action_arg);
667 if (check10(input)) return action10(action_arg);
668 if (check11(input)) return action11(action_arg);
669 if (check12(input)) return action12(action_arg);
670 if (check13(input)) return action13(action_arg);
671 if (check14(input)) return action14(action_arg);
672 if (check15(input)) return action15(action_arg);
673 if (check16(input)) return action16(action_arg);
674 if (check17(input)) return action17(action_arg);
675 if (check18(input)) return action18(action_arg);
676 if (check19(input)) return action19(action_arg);
677 if (check20(input)) return action20(action_arg);
678 if (check21(input)) return action21(action_arg);
679 return action_fail(action_arg);
680 }
681
682 template <
683 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
684 typename Check1, typename Check2, typename Check3, typename Check4,
685 typename Check5, typename Check6, typename Check7, typename Check8,
686 typename Check9, typename Check10, typename Check11, typename Check12,
687 typename Check13, typename Check14, typename Check15, typename Check16,
688 typename Check17, typename Check18, typename Check19, typename Check20,
689 typename Check21, typename Check22, typename Action0, typename Action1,
690 typename Action2, typename Action3, typename Action4, typename Action5,
691 typename Action6, typename Action7, typename Action8, typename Action9,
692 typename Action10, typename Action11, typename Action12, typename Action13,
693 typename Action14, typename Action15, typename Action16, typename Action17,
694 typename Action18, typename Action19, typename Action20, typename Action21,
695 typename Action22>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22)696 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
697 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
698 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
699 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
700 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
701 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
702 Check20 check20, Check21 check21, Check22 check22, Action0 action0,
703 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
704 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
705 Action9 action9, Action10 action10, Action11 action11,
706 Action12 action12, Action13 action13, Action14 action14,
707 Action15 action15, Action16 action16, Action17 action17,
708 Action18 action18, Action19 action19, Action20 action20,
709 Action21 action21, Action22 action22) {
710 if (check0(input)) return action0(action_arg);
711 if (check1(input)) return action1(action_arg);
712 if (check2(input)) return action2(action_arg);
713 if (check3(input)) return action3(action_arg);
714 if (check4(input)) return action4(action_arg);
715 if (check5(input)) return action5(action_arg);
716 if (check6(input)) return action6(action_arg);
717 if (check7(input)) return action7(action_arg);
718 if (check8(input)) return action8(action_arg);
719 if (check9(input)) return action9(action_arg);
720 if (check10(input)) return action10(action_arg);
721 if (check11(input)) return action11(action_arg);
722 if (check12(input)) return action12(action_arg);
723 if (check13(input)) return action13(action_arg);
724 if (check14(input)) return action14(action_arg);
725 if (check15(input)) return action15(action_arg);
726 if (check16(input)) return action16(action_arg);
727 if (check17(input)) return action17(action_arg);
728 if (check18(input)) return action18(action_arg);
729 if (check19(input)) return action19(action_arg);
730 if (check20(input)) return action20(action_arg);
731 if (check21(input)) return action21(action_arg);
732 if (check22(input)) return action22(action_arg);
733 return action_fail(action_arg);
734 }
735
736 template <
737 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
738 typename Check1, typename Check2, typename Check3, typename Check4,
739 typename Check5, typename Check6, typename Check7, typename Check8,
740 typename Check9, typename Check10, typename Check11, typename Check12,
741 typename Check13, typename Check14, typename Check15, typename Check16,
742 typename Check17, typename Check18, typename Check19, typename Check20,
743 typename Check21, typename Check22, typename Check23, typename Action0,
744 typename Action1, typename Action2, typename Action3, typename Action4,
745 typename Action5, typename Action6, typename Action7, typename Action8,
746 typename Action9, typename Action10, typename Action11, typename Action12,
747 typename Action13, typename Action14, typename Action15, typename Action16,
748 typename Action17, typename Action18, typename Action19, typename Action20,
749 typename Action21, typename Action22, typename Action23>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23)750 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
751 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
752 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
753 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
754 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
755 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
756 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
757 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
758 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
759 Action8 action8, Action9 action9, Action10 action10,
760 Action11 action11, Action12 action12, Action13 action13,
761 Action14 action14, Action15 action15, Action16 action16,
762 Action17 action17, Action18 action18, Action19 action19,
763 Action20 action20, Action21 action21, Action22 action22,
764 Action23 action23) {
765 if (check0(input)) return action0(action_arg);
766 if (check1(input)) return action1(action_arg);
767 if (check2(input)) return action2(action_arg);
768 if (check3(input)) return action3(action_arg);
769 if (check4(input)) return action4(action_arg);
770 if (check5(input)) return action5(action_arg);
771 if (check6(input)) return action6(action_arg);
772 if (check7(input)) return action7(action_arg);
773 if (check8(input)) return action8(action_arg);
774 if (check9(input)) return action9(action_arg);
775 if (check10(input)) return action10(action_arg);
776 if (check11(input)) return action11(action_arg);
777 if (check12(input)) return action12(action_arg);
778 if (check13(input)) return action13(action_arg);
779 if (check14(input)) return action14(action_arg);
780 if (check15(input)) return action15(action_arg);
781 if (check16(input)) return action16(action_arg);
782 if (check17(input)) return action17(action_arg);
783 if (check18(input)) return action18(action_arg);
784 if (check19(input)) return action19(action_arg);
785 if (check20(input)) return action20(action_arg);
786 if (check21(input)) return action21(action_arg);
787 if (check22(input)) return action22(action_arg);
788 if (check23(input)) return action23(action_arg);
789 return action_fail(action_arg);
790 }
791
792 template <
793 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
794 typename Check1, typename Check2, typename Check3, typename Check4,
795 typename Check5, typename Check6, typename Check7, typename Check8,
796 typename Check9, typename Check10, typename Check11, typename Check12,
797 typename Check13, typename Check14, typename Check15, typename Check16,
798 typename Check17, typename Check18, typename Check19, typename Check20,
799 typename Check21, typename Check22, typename Check23, typename Check24,
800 typename Action0, typename Action1, typename Action2, typename Action3,
801 typename Action4, typename Action5, typename Action6, typename Action7,
802 typename Action8, typename Action9, typename Action10, typename Action11,
803 typename Action12, typename Action13, typename Action14, typename Action15,
804 typename Action16, typename Action17, typename Action18, typename Action19,
805 typename Action20, typename Action21, typename Action22, typename Action23,
806 typename Action24>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24)807 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
808 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
809 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
810 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
811 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
812 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
813 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
814 Check24 check24, Action0 action0, Action1 action1, Action2 action2,
815 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
816 Action7 action7, Action8 action8, Action9 action9,
817 Action10 action10, Action11 action11, Action12 action12,
818 Action13 action13, Action14 action14, Action15 action15,
819 Action16 action16, Action17 action17, Action18 action18,
820 Action19 action19, Action20 action20, Action21 action21,
821 Action22 action22, Action23 action23, Action24 action24) {
822 if (check0(input)) return action0(action_arg);
823 if (check1(input)) return action1(action_arg);
824 if (check2(input)) return action2(action_arg);
825 if (check3(input)) return action3(action_arg);
826 if (check4(input)) return action4(action_arg);
827 if (check5(input)) return action5(action_arg);
828 if (check6(input)) return action6(action_arg);
829 if (check7(input)) return action7(action_arg);
830 if (check8(input)) return action8(action_arg);
831 if (check9(input)) return action9(action_arg);
832 if (check10(input)) return action10(action_arg);
833 if (check11(input)) return action11(action_arg);
834 if (check12(input)) return action12(action_arg);
835 if (check13(input)) return action13(action_arg);
836 if (check14(input)) return action14(action_arg);
837 if (check15(input)) return action15(action_arg);
838 if (check16(input)) return action16(action_arg);
839 if (check17(input)) return action17(action_arg);
840 if (check18(input)) return action18(action_arg);
841 if (check19(input)) return action19(action_arg);
842 if (check20(input)) return action20(action_arg);
843 if (check21(input)) return action21(action_arg);
844 if (check22(input)) return action22(action_arg);
845 if (check23(input)) return action23(action_arg);
846 if (check24(input)) return action24(action_arg);
847 return action_fail(action_arg);
848 }
849
850 template <
851 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
852 typename Check1, typename Check2, typename Check3, typename Check4,
853 typename Check5, typename Check6, typename Check7, typename Check8,
854 typename Check9, typename Check10, typename Check11, typename Check12,
855 typename Check13, typename Check14, typename Check15, typename Check16,
856 typename Check17, typename Check18, typename Check19, typename Check20,
857 typename Check21, typename Check22, typename Check23, typename Check24,
858 typename Check25, typename Action0, typename Action1, typename Action2,
859 typename Action3, typename Action4, typename Action5, typename Action6,
860 typename Action7, typename Action8, typename Action9, typename Action10,
861 typename Action11, typename Action12, typename Action13, typename Action14,
862 typename Action15, typename Action16, typename Action17, typename Action18,
863 typename Action19, typename Action20, typename Action21, typename Action22,
864 typename Action23, typename Action24, typename Action25>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25)865 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
866 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
867 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
868 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
869 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
870 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
871 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
872 Check24 check24, Check25 check25, Action0 action0, Action1 action1,
873 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
874 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
875 Action10 action10, Action11 action11, Action12 action12,
876 Action13 action13, Action14 action14, Action15 action15,
877 Action16 action16, Action17 action17, Action18 action18,
878 Action19 action19, Action20 action20, Action21 action21,
879 Action22 action22, Action23 action23, Action24 action24,
880 Action25 action25) {
881 if (check0(input)) return action0(action_arg);
882 if (check1(input)) return action1(action_arg);
883 if (check2(input)) return action2(action_arg);
884 if (check3(input)) return action3(action_arg);
885 if (check4(input)) return action4(action_arg);
886 if (check5(input)) return action5(action_arg);
887 if (check6(input)) return action6(action_arg);
888 if (check7(input)) return action7(action_arg);
889 if (check8(input)) return action8(action_arg);
890 if (check9(input)) return action9(action_arg);
891 if (check10(input)) return action10(action_arg);
892 if (check11(input)) return action11(action_arg);
893 if (check12(input)) return action12(action_arg);
894 if (check13(input)) return action13(action_arg);
895 if (check14(input)) return action14(action_arg);
896 if (check15(input)) return action15(action_arg);
897 if (check16(input)) return action16(action_arg);
898 if (check17(input)) return action17(action_arg);
899 if (check18(input)) return action18(action_arg);
900 if (check19(input)) return action19(action_arg);
901 if (check20(input)) return action20(action_arg);
902 if (check21(input)) return action21(action_arg);
903 if (check22(input)) return action22(action_arg);
904 if (check23(input)) return action23(action_arg);
905 if (check24(input)) return action24(action_arg);
906 if (check25(input)) return action25(action_arg);
907 return action_fail(action_arg);
908 }
909
910 template <
911 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
912 typename Check1, typename Check2, typename Check3, typename Check4,
913 typename Check5, typename Check6, typename Check7, typename Check8,
914 typename Check9, typename Check10, typename Check11, typename Check12,
915 typename Check13, typename Check14, typename Check15, typename Check16,
916 typename Check17, typename Check18, typename Check19, typename Check20,
917 typename Check21, typename Check22, typename Check23, typename Check24,
918 typename Check25, typename Check26, typename Action0, typename Action1,
919 typename Action2, typename Action3, typename Action4, typename Action5,
920 typename Action6, typename Action7, typename Action8, typename Action9,
921 typename Action10, typename Action11, typename Action12, typename Action13,
922 typename Action14, typename Action15, typename Action16, typename Action17,
923 typename Action18, typename Action19, typename Action20, typename Action21,
924 typename Action22, typename Action23, typename Action24, typename Action25,
925 typename Action26>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26)926 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
927 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
928 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
929 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
930 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
931 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
932 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
933 Check24 check24, Check25 check25, Check26 check26, Action0 action0,
934 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
935 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
936 Action9 action9, Action10 action10, Action11 action11,
937 Action12 action12, Action13 action13, Action14 action14,
938 Action15 action15, Action16 action16, Action17 action17,
939 Action18 action18, Action19 action19, Action20 action20,
940 Action21 action21, Action22 action22, Action23 action23,
941 Action24 action24, Action25 action25, Action26 action26) {
942 if (check0(input)) return action0(action_arg);
943 if (check1(input)) return action1(action_arg);
944 if (check2(input)) return action2(action_arg);
945 if (check3(input)) return action3(action_arg);
946 if (check4(input)) return action4(action_arg);
947 if (check5(input)) return action5(action_arg);
948 if (check6(input)) return action6(action_arg);
949 if (check7(input)) return action7(action_arg);
950 if (check8(input)) return action8(action_arg);
951 if (check9(input)) return action9(action_arg);
952 if (check10(input)) return action10(action_arg);
953 if (check11(input)) return action11(action_arg);
954 if (check12(input)) return action12(action_arg);
955 if (check13(input)) return action13(action_arg);
956 if (check14(input)) return action14(action_arg);
957 if (check15(input)) return action15(action_arg);
958 if (check16(input)) return action16(action_arg);
959 if (check17(input)) return action17(action_arg);
960 if (check18(input)) return action18(action_arg);
961 if (check19(input)) return action19(action_arg);
962 if (check20(input)) return action20(action_arg);
963 if (check21(input)) return action21(action_arg);
964 if (check22(input)) return action22(action_arg);
965 if (check23(input)) return action23(action_arg);
966 if (check24(input)) return action24(action_arg);
967 if (check25(input)) return action25(action_arg);
968 if (check26(input)) return action26(action_arg);
969 return action_fail(action_arg);
970 }
971
972 template <
973 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
974 typename Check1, typename Check2, typename Check3, typename Check4,
975 typename Check5, typename Check6, typename Check7, typename Check8,
976 typename Check9, typename Check10, typename Check11, typename Check12,
977 typename Check13, typename Check14, typename Check15, typename Check16,
978 typename Check17, typename Check18, typename Check19, typename Check20,
979 typename Check21, typename Check22, typename Check23, typename Check24,
980 typename Check25, typename Check26, typename Check27, typename Action0,
981 typename Action1, typename Action2, typename Action3, typename Action4,
982 typename Action5, typename Action6, typename Action7, typename Action8,
983 typename Action9, typename Action10, typename Action11, typename Action12,
984 typename Action13, typename Action14, typename Action15, typename Action16,
985 typename Action17, typename Action18, typename Action19, typename Action20,
986 typename Action21, typename Action22, typename Action23, typename Action24,
987 typename Action25, typename Action26, typename Action27>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27)988 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
989 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
990 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
991 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
992 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
993 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
994 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
995 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
996 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
997 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
998 Action8 action8, Action9 action9, Action10 action10,
999 Action11 action11, Action12 action12, Action13 action13,
1000 Action14 action14, Action15 action15, Action16 action16,
1001 Action17 action17, Action18 action18, Action19 action19,
1002 Action20 action20, Action21 action21, Action22 action22,
1003 Action23 action23, Action24 action24, Action25 action25,
1004 Action26 action26, Action27 action27) {
1005 if (check0(input)) return action0(action_arg);
1006 if (check1(input)) return action1(action_arg);
1007 if (check2(input)) return action2(action_arg);
1008 if (check3(input)) return action3(action_arg);
1009 if (check4(input)) return action4(action_arg);
1010 if (check5(input)) return action5(action_arg);
1011 if (check6(input)) return action6(action_arg);
1012 if (check7(input)) return action7(action_arg);
1013 if (check8(input)) return action8(action_arg);
1014 if (check9(input)) return action9(action_arg);
1015 if (check10(input)) return action10(action_arg);
1016 if (check11(input)) return action11(action_arg);
1017 if (check12(input)) return action12(action_arg);
1018 if (check13(input)) return action13(action_arg);
1019 if (check14(input)) return action14(action_arg);
1020 if (check15(input)) return action15(action_arg);
1021 if (check16(input)) return action16(action_arg);
1022 if (check17(input)) return action17(action_arg);
1023 if (check18(input)) return action18(action_arg);
1024 if (check19(input)) return action19(action_arg);
1025 if (check20(input)) return action20(action_arg);
1026 if (check21(input)) return action21(action_arg);
1027 if (check22(input)) return action22(action_arg);
1028 if (check23(input)) return action23(action_arg);
1029 if (check24(input)) return action24(action_arg);
1030 if (check25(input)) return action25(action_arg);
1031 if (check26(input)) return action26(action_arg);
1032 if (check27(input)) return action27(action_arg);
1033 return action_fail(action_arg);
1034 }
1035
1036 template <
1037 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1038 typename Check1, typename Check2, typename Check3, typename Check4,
1039 typename Check5, typename Check6, typename Check7, typename Check8,
1040 typename Check9, typename Check10, typename Check11, typename Check12,
1041 typename Check13, typename Check14, typename Check15, typename Check16,
1042 typename Check17, typename Check18, typename Check19, typename Check20,
1043 typename Check21, typename Check22, typename Check23, typename Check24,
1044 typename Check25, typename Check26, typename Check27, typename Check28,
1045 typename Action0, typename Action1, typename Action2, typename Action3,
1046 typename Action4, typename Action5, typename Action6, typename Action7,
1047 typename Action8, typename Action9, typename Action10, typename Action11,
1048 typename Action12, typename Action13, typename Action14, typename Action15,
1049 typename Action16, typename Action17, typename Action18, typename Action19,
1050 typename Action20, typename Action21, typename Action22, typename Action23,
1051 typename Action24, typename Action25, typename Action26, typename Action27,
1052 typename Action28>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28)1053 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1054 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1055 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1056 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1057 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1058 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1059 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1060 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1061 Check28 check28, Action0 action0, Action1 action1, Action2 action2,
1062 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1063 Action7 action7, Action8 action8, Action9 action9,
1064 Action10 action10, Action11 action11, Action12 action12,
1065 Action13 action13, Action14 action14, Action15 action15,
1066 Action16 action16, Action17 action17, Action18 action18,
1067 Action19 action19, Action20 action20, Action21 action21,
1068 Action22 action22, Action23 action23, Action24 action24,
1069 Action25 action25, Action26 action26, Action27 action27,
1070 Action28 action28) {
1071 if (check0(input)) return action0(action_arg);
1072 if (check1(input)) return action1(action_arg);
1073 if (check2(input)) return action2(action_arg);
1074 if (check3(input)) return action3(action_arg);
1075 if (check4(input)) return action4(action_arg);
1076 if (check5(input)) return action5(action_arg);
1077 if (check6(input)) return action6(action_arg);
1078 if (check7(input)) return action7(action_arg);
1079 if (check8(input)) return action8(action_arg);
1080 if (check9(input)) return action9(action_arg);
1081 if (check10(input)) return action10(action_arg);
1082 if (check11(input)) return action11(action_arg);
1083 if (check12(input)) return action12(action_arg);
1084 if (check13(input)) return action13(action_arg);
1085 if (check14(input)) return action14(action_arg);
1086 if (check15(input)) return action15(action_arg);
1087 if (check16(input)) return action16(action_arg);
1088 if (check17(input)) return action17(action_arg);
1089 if (check18(input)) return action18(action_arg);
1090 if (check19(input)) return action19(action_arg);
1091 if (check20(input)) return action20(action_arg);
1092 if (check21(input)) return action21(action_arg);
1093 if (check22(input)) return action22(action_arg);
1094 if (check23(input)) return action23(action_arg);
1095 if (check24(input)) return action24(action_arg);
1096 if (check25(input)) return action25(action_arg);
1097 if (check26(input)) return action26(action_arg);
1098 if (check27(input)) return action27(action_arg);
1099 if (check28(input)) return action28(action_arg);
1100 return action_fail(action_arg);
1101 }
1102
1103 template <
1104 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1105 typename Check1, typename Check2, typename Check3, typename Check4,
1106 typename Check5, typename Check6, typename Check7, typename Check8,
1107 typename Check9, typename Check10, typename Check11, typename Check12,
1108 typename Check13, typename Check14, typename Check15, typename Check16,
1109 typename Check17, typename Check18, typename Check19, typename Check20,
1110 typename Check21, typename Check22, typename Check23, typename Check24,
1111 typename Check25, typename Check26, typename Check27, typename Check28,
1112 typename Check29, typename Action0, typename Action1, typename Action2,
1113 typename Action3, typename Action4, typename Action5, typename Action6,
1114 typename Action7, typename Action8, typename Action9, typename Action10,
1115 typename Action11, typename Action12, typename Action13, typename Action14,
1116 typename Action15, typename Action16, typename Action17, typename Action18,
1117 typename Action19, typename Action20, typename Action21, typename Action22,
1118 typename Action23, typename Action24, typename Action25, typename Action26,
1119 typename Action27, typename Action28, typename Action29>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29)1120 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1121 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1122 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1123 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1124 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1125 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1126 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1127 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1128 Check28 check28, Check29 check29, Action0 action0, Action1 action1,
1129 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1130 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1131 Action10 action10, Action11 action11, Action12 action12,
1132 Action13 action13, Action14 action14, Action15 action15,
1133 Action16 action16, Action17 action17, Action18 action18,
1134 Action19 action19, Action20 action20, Action21 action21,
1135 Action22 action22, Action23 action23, Action24 action24,
1136 Action25 action25, Action26 action26, Action27 action27,
1137 Action28 action28, Action29 action29) {
1138 if (check0(input)) return action0(action_arg);
1139 if (check1(input)) return action1(action_arg);
1140 if (check2(input)) return action2(action_arg);
1141 if (check3(input)) return action3(action_arg);
1142 if (check4(input)) return action4(action_arg);
1143 if (check5(input)) return action5(action_arg);
1144 if (check6(input)) return action6(action_arg);
1145 if (check7(input)) return action7(action_arg);
1146 if (check8(input)) return action8(action_arg);
1147 if (check9(input)) return action9(action_arg);
1148 if (check10(input)) return action10(action_arg);
1149 if (check11(input)) return action11(action_arg);
1150 if (check12(input)) return action12(action_arg);
1151 if (check13(input)) return action13(action_arg);
1152 if (check14(input)) return action14(action_arg);
1153 if (check15(input)) return action15(action_arg);
1154 if (check16(input)) return action16(action_arg);
1155 if (check17(input)) return action17(action_arg);
1156 if (check18(input)) return action18(action_arg);
1157 if (check19(input)) return action19(action_arg);
1158 if (check20(input)) return action20(action_arg);
1159 if (check21(input)) return action21(action_arg);
1160 if (check22(input)) return action22(action_arg);
1161 if (check23(input)) return action23(action_arg);
1162 if (check24(input)) return action24(action_arg);
1163 if (check25(input)) return action25(action_arg);
1164 if (check26(input)) return action26(action_arg);
1165 if (check27(input)) return action27(action_arg);
1166 if (check28(input)) return action28(action_arg);
1167 if (check29(input)) return action29(action_arg);
1168 return action_fail(action_arg);
1169 }
1170
1171 template <
1172 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1173 typename Check1, typename Check2, typename Check3, typename Check4,
1174 typename Check5, typename Check6, typename Check7, typename Check8,
1175 typename Check9, typename Check10, typename Check11, typename Check12,
1176 typename Check13, typename Check14, typename Check15, typename Check16,
1177 typename Check17, typename Check18, typename Check19, typename Check20,
1178 typename Check21, typename Check22, typename Check23, typename Check24,
1179 typename Check25, typename Check26, typename Check27, typename Check28,
1180 typename Check29, typename Check30, typename Action0, typename Action1,
1181 typename Action2, typename Action3, typename Action4, typename Action5,
1182 typename Action6, typename Action7, typename Action8, typename Action9,
1183 typename Action10, typename Action11, typename Action12, typename Action13,
1184 typename Action14, typename Action15, typename Action16, typename Action17,
1185 typename Action18, typename Action19, typename Action20, typename Action21,
1186 typename Action22, typename Action23, typename Action24, typename Action25,
1187 typename Action26, typename Action27, typename Action28, typename Action29,
1188 typename Action30>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30)1189 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1190 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1191 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1192 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1193 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1194 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1195 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1196 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1197 Check28 check28, Check29 check29, Check30 check30, Action0 action0,
1198 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1199 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1200 Action9 action9, Action10 action10, Action11 action11,
1201 Action12 action12, Action13 action13, Action14 action14,
1202 Action15 action15, Action16 action16, Action17 action17,
1203 Action18 action18, Action19 action19, Action20 action20,
1204 Action21 action21, Action22 action22, Action23 action23,
1205 Action24 action24, Action25 action25, Action26 action26,
1206 Action27 action27, Action28 action28, Action29 action29,
1207 Action30 action30) {
1208 if (check0(input)) return action0(action_arg);
1209 if (check1(input)) return action1(action_arg);
1210 if (check2(input)) return action2(action_arg);
1211 if (check3(input)) return action3(action_arg);
1212 if (check4(input)) return action4(action_arg);
1213 if (check5(input)) return action5(action_arg);
1214 if (check6(input)) return action6(action_arg);
1215 if (check7(input)) return action7(action_arg);
1216 if (check8(input)) return action8(action_arg);
1217 if (check9(input)) return action9(action_arg);
1218 if (check10(input)) return action10(action_arg);
1219 if (check11(input)) return action11(action_arg);
1220 if (check12(input)) return action12(action_arg);
1221 if (check13(input)) return action13(action_arg);
1222 if (check14(input)) return action14(action_arg);
1223 if (check15(input)) return action15(action_arg);
1224 if (check16(input)) return action16(action_arg);
1225 if (check17(input)) return action17(action_arg);
1226 if (check18(input)) return action18(action_arg);
1227 if (check19(input)) return action19(action_arg);
1228 if (check20(input)) return action20(action_arg);
1229 if (check21(input)) return action21(action_arg);
1230 if (check22(input)) return action22(action_arg);
1231 if (check23(input)) return action23(action_arg);
1232 if (check24(input)) return action24(action_arg);
1233 if (check25(input)) return action25(action_arg);
1234 if (check26(input)) return action26(action_arg);
1235 if (check27(input)) return action27(action_arg);
1236 if (check28(input)) return action28(action_arg);
1237 if (check29(input)) return action29(action_arg);
1238 if (check30(input)) return action30(action_arg);
1239 return action_fail(action_arg);
1240 }
1241
1242 template <
1243 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1244 typename Check1, typename Check2, typename Check3, typename Check4,
1245 typename Check5, typename Check6, typename Check7, typename Check8,
1246 typename Check9, typename Check10, typename Check11, typename Check12,
1247 typename Check13, typename Check14, typename Check15, typename Check16,
1248 typename Check17, typename Check18, typename Check19, typename Check20,
1249 typename Check21, typename Check22, typename Check23, typename Check24,
1250 typename Check25, typename Check26, typename Check27, typename Check28,
1251 typename Check29, typename Check30, typename Check31, typename Action0,
1252 typename Action1, typename Action2, typename Action3, typename Action4,
1253 typename Action5, typename Action6, typename Action7, typename Action8,
1254 typename Action9, typename Action10, typename Action11, typename Action12,
1255 typename Action13, typename Action14, typename Action15, typename Action16,
1256 typename Action17, typename Action18, typename Action19, typename Action20,
1257 typename Action21, typename Action22, typename Action23, typename Action24,
1258 typename Action25, typename Action26, typename Action27, typename Action28,
1259 typename Action29, typename Action30, typename Action31>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31)1260 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1261 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1262 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1263 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1264 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1265 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1266 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1267 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1268 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1269 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1270 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1271 Action8 action8, Action9 action9, Action10 action10,
1272 Action11 action11, Action12 action12, Action13 action13,
1273 Action14 action14, Action15 action15, Action16 action16,
1274 Action17 action17, Action18 action18, Action19 action19,
1275 Action20 action20, Action21 action21, Action22 action22,
1276 Action23 action23, Action24 action24, Action25 action25,
1277 Action26 action26, Action27 action27, Action28 action28,
1278 Action29 action29, Action30 action30, Action31 action31) {
1279 if (check0(input)) return action0(action_arg);
1280 if (check1(input)) return action1(action_arg);
1281 if (check2(input)) return action2(action_arg);
1282 if (check3(input)) return action3(action_arg);
1283 if (check4(input)) return action4(action_arg);
1284 if (check5(input)) return action5(action_arg);
1285 if (check6(input)) return action6(action_arg);
1286 if (check7(input)) return action7(action_arg);
1287 if (check8(input)) return action8(action_arg);
1288 if (check9(input)) return action9(action_arg);
1289 if (check10(input)) return action10(action_arg);
1290 if (check11(input)) return action11(action_arg);
1291 if (check12(input)) return action12(action_arg);
1292 if (check13(input)) return action13(action_arg);
1293 if (check14(input)) return action14(action_arg);
1294 if (check15(input)) return action15(action_arg);
1295 if (check16(input)) return action16(action_arg);
1296 if (check17(input)) return action17(action_arg);
1297 if (check18(input)) return action18(action_arg);
1298 if (check19(input)) return action19(action_arg);
1299 if (check20(input)) return action20(action_arg);
1300 if (check21(input)) return action21(action_arg);
1301 if (check22(input)) return action22(action_arg);
1302 if (check23(input)) return action23(action_arg);
1303 if (check24(input)) return action24(action_arg);
1304 if (check25(input)) return action25(action_arg);
1305 if (check26(input)) return action26(action_arg);
1306 if (check27(input)) return action27(action_arg);
1307 if (check28(input)) return action28(action_arg);
1308 if (check29(input)) return action29(action_arg);
1309 if (check30(input)) return action30(action_arg);
1310 if (check31(input)) return action31(action_arg);
1311 return action_fail(action_arg);
1312 }
1313
1314 template <
1315 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1316 typename Check1, typename Check2, typename Check3, typename Check4,
1317 typename Check5, typename Check6, typename Check7, typename Check8,
1318 typename Check9, typename Check10, typename Check11, typename Check12,
1319 typename Check13, typename Check14, typename Check15, typename Check16,
1320 typename Check17, typename Check18, typename Check19, typename Check20,
1321 typename Check21, typename Check22, typename Check23, typename Check24,
1322 typename Check25, typename Check26, typename Check27, typename Check28,
1323 typename Check29, typename Check30, typename Check31, typename Check32,
1324 typename Action0, typename Action1, typename Action2, typename Action3,
1325 typename Action4, typename Action5, typename Action6, typename Action7,
1326 typename Action8, typename Action9, typename Action10, typename Action11,
1327 typename Action12, typename Action13, typename Action14, typename Action15,
1328 typename Action16, typename Action17, typename Action18, typename Action19,
1329 typename Action20, typename Action21, typename Action22, typename Action23,
1330 typename Action24, typename Action25, typename Action26, typename Action27,
1331 typename Action28, typename Action29, typename Action30, typename Action31,
1332 typename Action32>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32)1333 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1334 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1335 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1336 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1337 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1338 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1339 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1340 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1341 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1342 Check32 check32, Action0 action0, Action1 action1, Action2 action2,
1343 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1344 Action7 action7, Action8 action8, Action9 action9,
1345 Action10 action10, Action11 action11, Action12 action12,
1346 Action13 action13, Action14 action14, Action15 action15,
1347 Action16 action16, Action17 action17, Action18 action18,
1348 Action19 action19, Action20 action20, Action21 action21,
1349 Action22 action22, Action23 action23, Action24 action24,
1350 Action25 action25, Action26 action26, Action27 action27,
1351 Action28 action28, Action29 action29, Action30 action30,
1352 Action31 action31, Action32 action32) {
1353 if (check0(input)) return action0(action_arg);
1354 if (check1(input)) return action1(action_arg);
1355 if (check2(input)) return action2(action_arg);
1356 if (check3(input)) return action3(action_arg);
1357 if (check4(input)) return action4(action_arg);
1358 if (check5(input)) return action5(action_arg);
1359 if (check6(input)) return action6(action_arg);
1360 if (check7(input)) return action7(action_arg);
1361 if (check8(input)) return action8(action_arg);
1362 if (check9(input)) return action9(action_arg);
1363 if (check10(input)) return action10(action_arg);
1364 if (check11(input)) return action11(action_arg);
1365 if (check12(input)) return action12(action_arg);
1366 if (check13(input)) return action13(action_arg);
1367 if (check14(input)) return action14(action_arg);
1368 if (check15(input)) return action15(action_arg);
1369 if (check16(input)) return action16(action_arg);
1370 if (check17(input)) return action17(action_arg);
1371 if (check18(input)) return action18(action_arg);
1372 if (check19(input)) return action19(action_arg);
1373 if (check20(input)) return action20(action_arg);
1374 if (check21(input)) return action21(action_arg);
1375 if (check22(input)) return action22(action_arg);
1376 if (check23(input)) return action23(action_arg);
1377 if (check24(input)) return action24(action_arg);
1378 if (check25(input)) return action25(action_arg);
1379 if (check26(input)) return action26(action_arg);
1380 if (check27(input)) return action27(action_arg);
1381 if (check28(input)) return action28(action_arg);
1382 if (check29(input)) return action29(action_arg);
1383 if (check30(input)) return action30(action_arg);
1384 if (check31(input)) return action31(action_arg);
1385 if (check32(input)) return action32(action_arg);
1386 return action_fail(action_arg);
1387 }
1388
1389 template <
1390 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1391 typename Check1, typename Check2, typename Check3, typename Check4,
1392 typename Check5, typename Check6, typename Check7, typename Check8,
1393 typename Check9, typename Check10, typename Check11, typename Check12,
1394 typename Check13, typename Check14, typename Check15, typename Check16,
1395 typename Check17, typename Check18, typename Check19, typename Check20,
1396 typename Check21, typename Check22, typename Check23, typename Check24,
1397 typename Check25, typename Check26, typename Check27, typename Check28,
1398 typename Check29, typename Check30, typename Check31, typename Check32,
1399 typename Check33, typename Action0, typename Action1, typename Action2,
1400 typename Action3, typename Action4, typename Action5, typename Action6,
1401 typename Action7, typename Action8, typename Action9, typename Action10,
1402 typename Action11, typename Action12, typename Action13, typename Action14,
1403 typename Action15, typename Action16, typename Action17, typename Action18,
1404 typename Action19, typename Action20, typename Action21, typename Action22,
1405 typename Action23, typename Action24, typename Action25, typename Action26,
1406 typename Action27, typename Action28, typename Action29, typename Action30,
1407 typename Action31, typename Action32, typename Action33>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33)1408 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1409 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1410 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1411 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1412 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1413 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1414 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1415 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1416 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1417 Check32 check32, Check33 check33, Action0 action0, Action1 action1,
1418 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1419 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1420 Action10 action10, Action11 action11, Action12 action12,
1421 Action13 action13, Action14 action14, Action15 action15,
1422 Action16 action16, Action17 action17, Action18 action18,
1423 Action19 action19, Action20 action20, Action21 action21,
1424 Action22 action22, Action23 action23, Action24 action24,
1425 Action25 action25, Action26 action26, Action27 action27,
1426 Action28 action28, Action29 action29, Action30 action30,
1427 Action31 action31, Action32 action32, Action33 action33) {
1428 if (check0(input)) return action0(action_arg);
1429 if (check1(input)) return action1(action_arg);
1430 if (check2(input)) return action2(action_arg);
1431 if (check3(input)) return action3(action_arg);
1432 if (check4(input)) return action4(action_arg);
1433 if (check5(input)) return action5(action_arg);
1434 if (check6(input)) return action6(action_arg);
1435 if (check7(input)) return action7(action_arg);
1436 if (check8(input)) return action8(action_arg);
1437 if (check9(input)) return action9(action_arg);
1438 if (check10(input)) return action10(action_arg);
1439 if (check11(input)) return action11(action_arg);
1440 if (check12(input)) return action12(action_arg);
1441 if (check13(input)) return action13(action_arg);
1442 if (check14(input)) return action14(action_arg);
1443 if (check15(input)) return action15(action_arg);
1444 if (check16(input)) return action16(action_arg);
1445 if (check17(input)) return action17(action_arg);
1446 if (check18(input)) return action18(action_arg);
1447 if (check19(input)) return action19(action_arg);
1448 if (check20(input)) return action20(action_arg);
1449 if (check21(input)) return action21(action_arg);
1450 if (check22(input)) return action22(action_arg);
1451 if (check23(input)) return action23(action_arg);
1452 if (check24(input)) return action24(action_arg);
1453 if (check25(input)) return action25(action_arg);
1454 if (check26(input)) return action26(action_arg);
1455 if (check27(input)) return action27(action_arg);
1456 if (check28(input)) return action28(action_arg);
1457 if (check29(input)) return action29(action_arg);
1458 if (check30(input)) return action30(action_arg);
1459 if (check31(input)) return action31(action_arg);
1460 if (check32(input)) return action32(action_arg);
1461 if (check33(input)) return action33(action_arg);
1462 return action_fail(action_arg);
1463 }
1464
1465 template <
1466 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1467 typename Check1, typename Check2, typename Check3, typename Check4,
1468 typename Check5, typename Check6, typename Check7, typename Check8,
1469 typename Check9, typename Check10, typename Check11, typename Check12,
1470 typename Check13, typename Check14, typename Check15, typename Check16,
1471 typename Check17, typename Check18, typename Check19, typename Check20,
1472 typename Check21, typename Check22, typename Check23, typename Check24,
1473 typename Check25, typename Check26, typename Check27, typename Check28,
1474 typename Check29, typename Check30, typename Check31, typename Check32,
1475 typename Check33, typename Check34, typename Action0, typename Action1,
1476 typename Action2, typename Action3, typename Action4, typename Action5,
1477 typename Action6, typename Action7, typename Action8, typename Action9,
1478 typename Action10, typename Action11, typename Action12, typename Action13,
1479 typename Action14, typename Action15, typename Action16, typename Action17,
1480 typename Action18, typename Action19, typename Action20, typename Action21,
1481 typename Action22, typename Action23, typename Action24, typename Action25,
1482 typename Action26, typename Action27, typename Action28, typename Action29,
1483 typename Action30, typename Action31, typename Action32, typename Action33,
1484 typename Action34>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34)1485 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1486 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1487 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1488 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1489 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1490 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1491 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1492 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1493 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1494 Check32 check32, Check33 check33, Check34 check34, Action0 action0,
1495 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1496 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1497 Action9 action9, Action10 action10, Action11 action11,
1498 Action12 action12, Action13 action13, Action14 action14,
1499 Action15 action15, Action16 action16, Action17 action17,
1500 Action18 action18, Action19 action19, Action20 action20,
1501 Action21 action21, Action22 action22, Action23 action23,
1502 Action24 action24, Action25 action25, Action26 action26,
1503 Action27 action27, Action28 action28, Action29 action29,
1504 Action30 action30, Action31 action31, Action32 action32,
1505 Action33 action33, Action34 action34) {
1506 if (check0(input)) return action0(action_arg);
1507 if (check1(input)) return action1(action_arg);
1508 if (check2(input)) return action2(action_arg);
1509 if (check3(input)) return action3(action_arg);
1510 if (check4(input)) return action4(action_arg);
1511 if (check5(input)) return action5(action_arg);
1512 if (check6(input)) return action6(action_arg);
1513 if (check7(input)) return action7(action_arg);
1514 if (check8(input)) return action8(action_arg);
1515 if (check9(input)) return action9(action_arg);
1516 if (check10(input)) return action10(action_arg);
1517 if (check11(input)) return action11(action_arg);
1518 if (check12(input)) return action12(action_arg);
1519 if (check13(input)) return action13(action_arg);
1520 if (check14(input)) return action14(action_arg);
1521 if (check15(input)) return action15(action_arg);
1522 if (check16(input)) return action16(action_arg);
1523 if (check17(input)) return action17(action_arg);
1524 if (check18(input)) return action18(action_arg);
1525 if (check19(input)) return action19(action_arg);
1526 if (check20(input)) return action20(action_arg);
1527 if (check21(input)) return action21(action_arg);
1528 if (check22(input)) return action22(action_arg);
1529 if (check23(input)) return action23(action_arg);
1530 if (check24(input)) return action24(action_arg);
1531 if (check25(input)) return action25(action_arg);
1532 if (check26(input)) return action26(action_arg);
1533 if (check27(input)) return action27(action_arg);
1534 if (check28(input)) return action28(action_arg);
1535 if (check29(input)) return action29(action_arg);
1536 if (check30(input)) return action30(action_arg);
1537 if (check31(input)) return action31(action_arg);
1538 if (check32(input)) return action32(action_arg);
1539 if (check33(input)) return action33(action_arg);
1540 if (check34(input)) return action34(action_arg);
1541 return action_fail(action_arg);
1542 }
1543
1544 template <
1545 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1546 typename Check1, typename Check2, typename Check3, typename Check4,
1547 typename Check5, typename Check6, typename Check7, typename Check8,
1548 typename Check9, typename Check10, typename Check11, typename Check12,
1549 typename Check13, typename Check14, typename Check15, typename Check16,
1550 typename Check17, typename Check18, typename Check19, typename Check20,
1551 typename Check21, typename Check22, typename Check23, typename Check24,
1552 typename Check25, typename Check26, typename Check27, typename Check28,
1553 typename Check29, typename Check30, typename Check31, typename Check32,
1554 typename Check33, typename Check34, typename Check35, typename Action0,
1555 typename Action1, typename Action2, typename Action3, typename Action4,
1556 typename Action5, typename Action6, typename Action7, typename Action8,
1557 typename Action9, typename Action10, typename Action11, typename Action12,
1558 typename Action13, typename Action14, typename Action15, typename Action16,
1559 typename Action17, typename Action18, typename Action19, typename Action20,
1560 typename Action21, typename Action22, typename Action23, typename Action24,
1561 typename Action25, typename Action26, typename Action27, typename Action28,
1562 typename Action29, typename Action30, typename Action31, typename Action32,
1563 typename Action33, typename Action34, typename Action35>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35)1564 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1565 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1566 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1567 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1568 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1569 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1570 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1571 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1572 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1573 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1574 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1575 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1576 Action8 action8, Action9 action9, Action10 action10,
1577 Action11 action11, Action12 action12, Action13 action13,
1578 Action14 action14, Action15 action15, Action16 action16,
1579 Action17 action17, Action18 action18, Action19 action19,
1580 Action20 action20, Action21 action21, Action22 action22,
1581 Action23 action23, Action24 action24, Action25 action25,
1582 Action26 action26, Action27 action27, Action28 action28,
1583 Action29 action29, Action30 action30, Action31 action31,
1584 Action32 action32, Action33 action33, Action34 action34,
1585 Action35 action35) {
1586 if (check0(input)) return action0(action_arg);
1587 if (check1(input)) return action1(action_arg);
1588 if (check2(input)) return action2(action_arg);
1589 if (check3(input)) return action3(action_arg);
1590 if (check4(input)) return action4(action_arg);
1591 if (check5(input)) return action5(action_arg);
1592 if (check6(input)) return action6(action_arg);
1593 if (check7(input)) return action7(action_arg);
1594 if (check8(input)) return action8(action_arg);
1595 if (check9(input)) return action9(action_arg);
1596 if (check10(input)) return action10(action_arg);
1597 if (check11(input)) return action11(action_arg);
1598 if (check12(input)) return action12(action_arg);
1599 if (check13(input)) return action13(action_arg);
1600 if (check14(input)) return action14(action_arg);
1601 if (check15(input)) return action15(action_arg);
1602 if (check16(input)) return action16(action_arg);
1603 if (check17(input)) return action17(action_arg);
1604 if (check18(input)) return action18(action_arg);
1605 if (check19(input)) return action19(action_arg);
1606 if (check20(input)) return action20(action_arg);
1607 if (check21(input)) return action21(action_arg);
1608 if (check22(input)) return action22(action_arg);
1609 if (check23(input)) return action23(action_arg);
1610 if (check24(input)) return action24(action_arg);
1611 if (check25(input)) return action25(action_arg);
1612 if (check26(input)) return action26(action_arg);
1613 if (check27(input)) return action27(action_arg);
1614 if (check28(input)) return action28(action_arg);
1615 if (check29(input)) return action29(action_arg);
1616 if (check30(input)) return action30(action_arg);
1617 if (check31(input)) return action31(action_arg);
1618 if (check32(input)) return action32(action_arg);
1619 if (check33(input)) return action33(action_arg);
1620 if (check34(input)) return action34(action_arg);
1621 if (check35(input)) return action35(action_arg);
1622 return action_fail(action_arg);
1623 }
1624
1625 template <
1626 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1627 typename Check1, typename Check2, typename Check3, typename Check4,
1628 typename Check5, typename Check6, typename Check7, typename Check8,
1629 typename Check9, typename Check10, typename Check11, typename Check12,
1630 typename Check13, typename Check14, typename Check15, typename Check16,
1631 typename Check17, typename Check18, typename Check19, typename Check20,
1632 typename Check21, typename Check22, typename Check23, typename Check24,
1633 typename Check25, typename Check26, typename Check27, typename Check28,
1634 typename Check29, typename Check30, typename Check31, typename Check32,
1635 typename Check33, typename Check34, typename Check35, typename Check36,
1636 typename Action0, typename Action1, typename Action2, typename Action3,
1637 typename Action4, typename Action5, typename Action6, typename Action7,
1638 typename Action8, typename Action9, typename Action10, typename Action11,
1639 typename Action12, typename Action13, typename Action14, typename Action15,
1640 typename Action16, typename Action17, typename Action18, typename Action19,
1641 typename Action20, typename Action21, typename Action22, typename Action23,
1642 typename Action24, typename Action25, typename Action26, typename Action27,
1643 typename Action28, typename Action29, typename Action30, typename Action31,
1644 typename Action32, typename Action33, typename Action34, typename Action35,
1645 typename Action36>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36)1646 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1647 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1648 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1649 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1650 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1651 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1652 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1653 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1654 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1655 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1656 Check36 check36, Action0 action0, Action1 action1, Action2 action2,
1657 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
1658 Action7 action7, Action8 action8, Action9 action9,
1659 Action10 action10, Action11 action11, Action12 action12,
1660 Action13 action13, Action14 action14, Action15 action15,
1661 Action16 action16, Action17 action17, Action18 action18,
1662 Action19 action19, Action20 action20, Action21 action21,
1663 Action22 action22, Action23 action23, Action24 action24,
1664 Action25 action25, Action26 action26, Action27 action27,
1665 Action28 action28, Action29 action29, Action30 action30,
1666 Action31 action31, Action32 action32, Action33 action33,
1667 Action34 action34, Action35 action35, Action36 action36) {
1668 if (check0(input)) return action0(action_arg);
1669 if (check1(input)) return action1(action_arg);
1670 if (check2(input)) return action2(action_arg);
1671 if (check3(input)) return action3(action_arg);
1672 if (check4(input)) return action4(action_arg);
1673 if (check5(input)) return action5(action_arg);
1674 if (check6(input)) return action6(action_arg);
1675 if (check7(input)) return action7(action_arg);
1676 if (check8(input)) return action8(action_arg);
1677 if (check9(input)) return action9(action_arg);
1678 if (check10(input)) return action10(action_arg);
1679 if (check11(input)) return action11(action_arg);
1680 if (check12(input)) return action12(action_arg);
1681 if (check13(input)) return action13(action_arg);
1682 if (check14(input)) return action14(action_arg);
1683 if (check15(input)) return action15(action_arg);
1684 if (check16(input)) return action16(action_arg);
1685 if (check17(input)) return action17(action_arg);
1686 if (check18(input)) return action18(action_arg);
1687 if (check19(input)) return action19(action_arg);
1688 if (check20(input)) return action20(action_arg);
1689 if (check21(input)) return action21(action_arg);
1690 if (check22(input)) return action22(action_arg);
1691 if (check23(input)) return action23(action_arg);
1692 if (check24(input)) return action24(action_arg);
1693 if (check25(input)) return action25(action_arg);
1694 if (check26(input)) return action26(action_arg);
1695 if (check27(input)) return action27(action_arg);
1696 if (check28(input)) return action28(action_arg);
1697 if (check29(input)) return action29(action_arg);
1698 if (check30(input)) return action30(action_arg);
1699 if (check31(input)) return action31(action_arg);
1700 if (check32(input)) return action32(action_arg);
1701 if (check33(input)) return action33(action_arg);
1702 if (check34(input)) return action34(action_arg);
1703 if (check35(input)) return action35(action_arg);
1704 if (check36(input)) return action36(action_arg);
1705 return action_fail(action_arg);
1706 }
1707
1708 template <
1709 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1710 typename Check1, typename Check2, typename Check3, typename Check4,
1711 typename Check5, typename Check6, typename Check7, typename Check8,
1712 typename Check9, typename Check10, typename Check11, typename Check12,
1713 typename Check13, typename Check14, typename Check15, typename Check16,
1714 typename Check17, typename Check18, typename Check19, typename Check20,
1715 typename Check21, typename Check22, typename Check23, typename Check24,
1716 typename Check25, typename Check26, typename Check27, typename Check28,
1717 typename Check29, typename Check30, typename Check31, typename Check32,
1718 typename Check33, typename Check34, typename Check35, typename Check36,
1719 typename Check37, typename Action0, typename Action1, typename Action2,
1720 typename Action3, typename Action4, typename Action5, typename Action6,
1721 typename Action7, typename Action8, typename Action9, typename Action10,
1722 typename Action11, typename Action12, typename Action13, typename Action14,
1723 typename Action15, typename Action16, typename Action17, typename Action18,
1724 typename Action19, typename Action20, typename Action21, typename Action22,
1725 typename Action23, typename Action24, typename Action25, typename Action26,
1726 typename Action27, typename Action28, typename Action29, typename Action30,
1727 typename Action31, typename Action32, typename Action33, typename Action34,
1728 typename Action35, typename Action36, typename Action37>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37)1729 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1730 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1731 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1732 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1733 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1734 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1735 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1736 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1737 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1738 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1739 Check36 check36, Check37 check37, Action0 action0, Action1 action1,
1740 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
1741 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
1742 Action10 action10, Action11 action11, Action12 action12,
1743 Action13 action13, Action14 action14, Action15 action15,
1744 Action16 action16, Action17 action17, Action18 action18,
1745 Action19 action19, Action20 action20, Action21 action21,
1746 Action22 action22, Action23 action23, Action24 action24,
1747 Action25 action25, Action26 action26, Action27 action27,
1748 Action28 action28, Action29 action29, Action30 action30,
1749 Action31 action31, Action32 action32, Action33 action33,
1750 Action34 action34, Action35 action35, Action36 action36,
1751 Action37 action37) {
1752 if (check0(input)) return action0(action_arg);
1753 if (check1(input)) return action1(action_arg);
1754 if (check2(input)) return action2(action_arg);
1755 if (check3(input)) return action3(action_arg);
1756 if (check4(input)) return action4(action_arg);
1757 if (check5(input)) return action5(action_arg);
1758 if (check6(input)) return action6(action_arg);
1759 if (check7(input)) return action7(action_arg);
1760 if (check8(input)) return action8(action_arg);
1761 if (check9(input)) return action9(action_arg);
1762 if (check10(input)) return action10(action_arg);
1763 if (check11(input)) return action11(action_arg);
1764 if (check12(input)) return action12(action_arg);
1765 if (check13(input)) return action13(action_arg);
1766 if (check14(input)) return action14(action_arg);
1767 if (check15(input)) return action15(action_arg);
1768 if (check16(input)) return action16(action_arg);
1769 if (check17(input)) return action17(action_arg);
1770 if (check18(input)) return action18(action_arg);
1771 if (check19(input)) return action19(action_arg);
1772 if (check20(input)) return action20(action_arg);
1773 if (check21(input)) return action21(action_arg);
1774 if (check22(input)) return action22(action_arg);
1775 if (check23(input)) return action23(action_arg);
1776 if (check24(input)) return action24(action_arg);
1777 if (check25(input)) return action25(action_arg);
1778 if (check26(input)) return action26(action_arg);
1779 if (check27(input)) return action27(action_arg);
1780 if (check28(input)) return action28(action_arg);
1781 if (check29(input)) return action29(action_arg);
1782 if (check30(input)) return action30(action_arg);
1783 if (check31(input)) return action31(action_arg);
1784 if (check32(input)) return action32(action_arg);
1785 if (check33(input)) return action33(action_arg);
1786 if (check34(input)) return action34(action_arg);
1787 if (check35(input)) return action35(action_arg);
1788 if (check36(input)) return action36(action_arg);
1789 if (check37(input)) return action37(action_arg);
1790 return action_fail(action_arg);
1791 }
1792
1793 template <
1794 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1795 typename Check1, typename Check2, typename Check3, typename Check4,
1796 typename Check5, typename Check6, typename Check7, typename Check8,
1797 typename Check9, typename Check10, typename Check11, typename Check12,
1798 typename Check13, typename Check14, typename Check15, typename Check16,
1799 typename Check17, typename Check18, typename Check19, typename Check20,
1800 typename Check21, typename Check22, typename Check23, typename Check24,
1801 typename Check25, typename Check26, typename Check27, typename Check28,
1802 typename Check29, typename Check30, typename Check31, typename Check32,
1803 typename Check33, typename Check34, typename Check35, typename Check36,
1804 typename Check37, typename Check38, typename Action0, typename Action1,
1805 typename Action2, typename Action3, typename Action4, typename Action5,
1806 typename Action6, typename Action7, typename Action8, typename Action9,
1807 typename Action10, typename Action11, typename Action12, typename Action13,
1808 typename Action14, typename Action15, typename Action16, typename Action17,
1809 typename Action18, typename Action19, typename Action20, typename Action21,
1810 typename Action22, typename Action23, typename Action24, typename Action25,
1811 typename Action26, typename Action27, typename Action28, typename Action29,
1812 typename Action30, typename Action31, typename Action32, typename Action33,
1813 typename Action34, typename Action35, typename Action36, typename Action37,
1814 typename Action38>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38)1815 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1816 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1817 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1818 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1819 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1820 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1821 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1822 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1823 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1824 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1825 Check36 check36, Check37 check37, Check38 check38, Action0 action0,
1826 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
1827 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
1828 Action9 action9, Action10 action10, Action11 action11,
1829 Action12 action12, Action13 action13, Action14 action14,
1830 Action15 action15, Action16 action16, Action17 action17,
1831 Action18 action18, Action19 action19, Action20 action20,
1832 Action21 action21, Action22 action22, Action23 action23,
1833 Action24 action24, Action25 action25, Action26 action26,
1834 Action27 action27, Action28 action28, Action29 action29,
1835 Action30 action30, Action31 action31, Action32 action32,
1836 Action33 action33, Action34 action34, Action35 action35,
1837 Action36 action36, Action37 action37, Action38 action38) {
1838 if (check0(input)) return action0(action_arg);
1839 if (check1(input)) return action1(action_arg);
1840 if (check2(input)) return action2(action_arg);
1841 if (check3(input)) return action3(action_arg);
1842 if (check4(input)) return action4(action_arg);
1843 if (check5(input)) return action5(action_arg);
1844 if (check6(input)) return action6(action_arg);
1845 if (check7(input)) return action7(action_arg);
1846 if (check8(input)) return action8(action_arg);
1847 if (check9(input)) return action9(action_arg);
1848 if (check10(input)) return action10(action_arg);
1849 if (check11(input)) return action11(action_arg);
1850 if (check12(input)) return action12(action_arg);
1851 if (check13(input)) return action13(action_arg);
1852 if (check14(input)) return action14(action_arg);
1853 if (check15(input)) return action15(action_arg);
1854 if (check16(input)) return action16(action_arg);
1855 if (check17(input)) return action17(action_arg);
1856 if (check18(input)) return action18(action_arg);
1857 if (check19(input)) return action19(action_arg);
1858 if (check20(input)) return action20(action_arg);
1859 if (check21(input)) return action21(action_arg);
1860 if (check22(input)) return action22(action_arg);
1861 if (check23(input)) return action23(action_arg);
1862 if (check24(input)) return action24(action_arg);
1863 if (check25(input)) return action25(action_arg);
1864 if (check26(input)) return action26(action_arg);
1865 if (check27(input)) return action27(action_arg);
1866 if (check28(input)) return action28(action_arg);
1867 if (check29(input)) return action29(action_arg);
1868 if (check30(input)) return action30(action_arg);
1869 if (check31(input)) return action31(action_arg);
1870 if (check32(input)) return action32(action_arg);
1871 if (check33(input)) return action33(action_arg);
1872 if (check34(input)) return action34(action_arg);
1873 if (check35(input)) return action35(action_arg);
1874 if (check36(input)) return action36(action_arg);
1875 if (check37(input)) return action37(action_arg);
1876 if (check38(input)) return action38(action_arg);
1877 return action_fail(action_arg);
1878 }
1879
1880 template <
1881 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1882 typename Check1, typename Check2, typename Check3, typename Check4,
1883 typename Check5, typename Check6, typename Check7, typename Check8,
1884 typename Check9, typename Check10, typename Check11, typename Check12,
1885 typename Check13, typename Check14, typename Check15, typename Check16,
1886 typename Check17, typename Check18, typename Check19, typename Check20,
1887 typename Check21, typename Check22, typename Check23, typename Check24,
1888 typename Check25, typename Check26, typename Check27, typename Check28,
1889 typename Check29, typename Check30, typename Check31, typename Check32,
1890 typename Check33, typename Check34, typename Check35, typename Check36,
1891 typename Check37, typename Check38, typename Check39, typename Action0,
1892 typename Action1, typename Action2, typename Action3, typename Action4,
1893 typename Action5, typename Action6, typename Action7, typename Action8,
1894 typename Action9, typename Action10, typename Action11, typename Action12,
1895 typename Action13, typename Action14, typename Action15, typename Action16,
1896 typename Action17, typename Action18, typename Action19, typename Action20,
1897 typename Action21, typename Action22, typename Action23, typename Action24,
1898 typename Action25, typename Action26, typename Action27, typename Action28,
1899 typename Action29, typename Action30, typename Action31, typename Action32,
1900 typename Action33, typename Action34, typename Action35, typename Action36,
1901 typename Action37, typename Action38, typename Action39>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39)1902 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
1903 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
1904 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
1905 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
1906 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
1907 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
1908 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
1909 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
1910 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
1911 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
1912 Check36 check36, Check37 check37, Check38 check38, Check39 check39,
1913 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
1914 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
1915 Action8 action8, Action9 action9, Action10 action10,
1916 Action11 action11, Action12 action12, Action13 action13,
1917 Action14 action14, Action15 action15, Action16 action16,
1918 Action17 action17, Action18 action18, Action19 action19,
1919 Action20 action20, Action21 action21, Action22 action22,
1920 Action23 action23, Action24 action24, Action25 action25,
1921 Action26 action26, Action27 action27, Action28 action28,
1922 Action29 action29, Action30 action30, Action31 action31,
1923 Action32 action32, Action33 action33, Action34 action34,
1924 Action35 action35, Action36 action36, Action37 action37,
1925 Action38 action38, Action39 action39) {
1926 if (check0(input)) return action0(action_arg);
1927 if (check1(input)) return action1(action_arg);
1928 if (check2(input)) return action2(action_arg);
1929 if (check3(input)) return action3(action_arg);
1930 if (check4(input)) return action4(action_arg);
1931 if (check5(input)) return action5(action_arg);
1932 if (check6(input)) return action6(action_arg);
1933 if (check7(input)) return action7(action_arg);
1934 if (check8(input)) return action8(action_arg);
1935 if (check9(input)) return action9(action_arg);
1936 if (check10(input)) return action10(action_arg);
1937 if (check11(input)) return action11(action_arg);
1938 if (check12(input)) return action12(action_arg);
1939 if (check13(input)) return action13(action_arg);
1940 if (check14(input)) return action14(action_arg);
1941 if (check15(input)) return action15(action_arg);
1942 if (check16(input)) return action16(action_arg);
1943 if (check17(input)) return action17(action_arg);
1944 if (check18(input)) return action18(action_arg);
1945 if (check19(input)) return action19(action_arg);
1946 if (check20(input)) return action20(action_arg);
1947 if (check21(input)) return action21(action_arg);
1948 if (check22(input)) return action22(action_arg);
1949 if (check23(input)) return action23(action_arg);
1950 if (check24(input)) return action24(action_arg);
1951 if (check25(input)) return action25(action_arg);
1952 if (check26(input)) return action26(action_arg);
1953 if (check27(input)) return action27(action_arg);
1954 if (check28(input)) return action28(action_arg);
1955 if (check29(input)) return action29(action_arg);
1956 if (check30(input)) return action30(action_arg);
1957 if (check31(input)) return action31(action_arg);
1958 if (check32(input)) return action32(action_arg);
1959 if (check33(input)) return action33(action_arg);
1960 if (check34(input)) return action34(action_arg);
1961 if (check35(input)) return action35(action_arg);
1962 if (check36(input)) return action36(action_arg);
1963 if (check37(input)) return action37(action_arg);
1964 if (check38(input)) return action38(action_arg);
1965 if (check39(input)) return action39(action_arg);
1966 return action_fail(action_arg);
1967 }
1968
1969 template <
1970 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
1971 typename Check1, typename Check2, typename Check3, typename Check4,
1972 typename Check5, typename Check6, typename Check7, typename Check8,
1973 typename Check9, typename Check10, typename Check11, typename Check12,
1974 typename Check13, typename Check14, typename Check15, typename Check16,
1975 typename Check17, typename Check18, typename Check19, typename Check20,
1976 typename Check21, typename Check22, typename Check23, typename Check24,
1977 typename Check25, typename Check26, typename Check27, typename Check28,
1978 typename Check29, typename Check30, typename Check31, typename Check32,
1979 typename Check33, typename Check34, typename Check35, typename Check36,
1980 typename Check37, typename Check38, typename Check39, typename Check40,
1981 typename Action0, typename Action1, typename Action2, typename Action3,
1982 typename Action4, typename Action5, typename Action6, typename Action7,
1983 typename Action8, typename Action9, typename Action10, typename Action11,
1984 typename Action12, typename Action13, typename Action14, typename Action15,
1985 typename Action16, typename Action17, typename Action18, typename Action19,
1986 typename Action20, typename Action21, typename Action22, typename Action23,
1987 typename Action24, typename Action25, typename Action26, typename Action27,
1988 typename Action28, typename Action29, typename Action30, typename Action31,
1989 typename Action32, typename Action33, typename Action34, typename Action35,
1990 typename Action36, typename Action37, typename Action38, typename Action39,
1991 typename Action40>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40)1992 auto IfList(
1993 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
1994 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
1995 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
1996 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
1997 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
1998 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
1999 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2000 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2001 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2002 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2003 Check39 check39, Check40 check40, Action0 action0, Action1 action1,
2004 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2005 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2006 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2007 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2008 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2009 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2010 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2011 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2012 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2013 Action38 action38, Action39 action39, Action40 action40) {
2014 if (check0(input)) return action0(action_arg);
2015 if (check1(input)) return action1(action_arg);
2016 if (check2(input)) return action2(action_arg);
2017 if (check3(input)) return action3(action_arg);
2018 if (check4(input)) return action4(action_arg);
2019 if (check5(input)) return action5(action_arg);
2020 if (check6(input)) return action6(action_arg);
2021 if (check7(input)) return action7(action_arg);
2022 if (check8(input)) return action8(action_arg);
2023 if (check9(input)) return action9(action_arg);
2024 if (check10(input)) return action10(action_arg);
2025 if (check11(input)) return action11(action_arg);
2026 if (check12(input)) return action12(action_arg);
2027 if (check13(input)) return action13(action_arg);
2028 if (check14(input)) return action14(action_arg);
2029 if (check15(input)) return action15(action_arg);
2030 if (check16(input)) return action16(action_arg);
2031 if (check17(input)) return action17(action_arg);
2032 if (check18(input)) return action18(action_arg);
2033 if (check19(input)) return action19(action_arg);
2034 if (check20(input)) return action20(action_arg);
2035 if (check21(input)) return action21(action_arg);
2036 if (check22(input)) return action22(action_arg);
2037 if (check23(input)) return action23(action_arg);
2038 if (check24(input)) return action24(action_arg);
2039 if (check25(input)) return action25(action_arg);
2040 if (check26(input)) return action26(action_arg);
2041 if (check27(input)) return action27(action_arg);
2042 if (check28(input)) return action28(action_arg);
2043 if (check29(input)) return action29(action_arg);
2044 if (check30(input)) return action30(action_arg);
2045 if (check31(input)) return action31(action_arg);
2046 if (check32(input)) return action32(action_arg);
2047 if (check33(input)) return action33(action_arg);
2048 if (check34(input)) return action34(action_arg);
2049 if (check35(input)) return action35(action_arg);
2050 if (check36(input)) return action36(action_arg);
2051 if (check37(input)) return action37(action_arg);
2052 if (check38(input)) return action38(action_arg);
2053 if (check39(input)) return action39(action_arg);
2054 if (check40(input)) return action40(action_arg);
2055 return action_fail(action_arg);
2056 }
2057
2058 template <
2059 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2060 typename Check1, typename Check2, typename Check3, typename Check4,
2061 typename Check5, typename Check6, typename Check7, typename Check8,
2062 typename Check9, typename Check10, typename Check11, typename Check12,
2063 typename Check13, typename Check14, typename Check15, typename Check16,
2064 typename Check17, typename Check18, typename Check19, typename Check20,
2065 typename Check21, typename Check22, typename Check23, typename Check24,
2066 typename Check25, typename Check26, typename Check27, typename Check28,
2067 typename Check29, typename Check30, typename Check31, typename Check32,
2068 typename Check33, typename Check34, typename Check35, typename Check36,
2069 typename Check37, typename Check38, typename Check39, typename Check40,
2070 typename Check41, typename Action0, typename Action1, typename Action2,
2071 typename Action3, typename Action4, typename Action5, typename Action6,
2072 typename Action7, typename Action8, typename Action9, typename Action10,
2073 typename Action11, typename Action12, typename Action13, typename Action14,
2074 typename Action15, typename Action16, typename Action17, typename Action18,
2075 typename Action19, typename Action20, typename Action21, typename Action22,
2076 typename Action23, typename Action24, typename Action25, typename Action26,
2077 typename Action27, typename Action28, typename Action29, typename Action30,
2078 typename Action31, typename Action32, typename Action33, typename Action34,
2079 typename Action35, typename Action36, typename Action37, typename Action38,
2080 typename Action39, typename Action40, typename Action41>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41)2081 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2082 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2083 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2084 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2085 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2086 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2087 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2088 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2089 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2090 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2091 Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2092 Check40 check40, Check41 check41, Action0 action0, Action1 action1,
2093 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2094 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2095 Action10 action10, Action11 action11, Action12 action12,
2096 Action13 action13, Action14 action14, Action15 action15,
2097 Action16 action16, Action17 action17, Action18 action18,
2098 Action19 action19, Action20 action20, Action21 action21,
2099 Action22 action22, Action23 action23, Action24 action24,
2100 Action25 action25, Action26 action26, Action27 action27,
2101 Action28 action28, Action29 action29, Action30 action30,
2102 Action31 action31, Action32 action32, Action33 action33,
2103 Action34 action34, Action35 action35, Action36 action36,
2104 Action37 action37, Action38 action38, Action39 action39,
2105 Action40 action40, Action41 action41) {
2106 if (check0(input)) return action0(action_arg);
2107 if (check1(input)) return action1(action_arg);
2108 if (check2(input)) return action2(action_arg);
2109 if (check3(input)) return action3(action_arg);
2110 if (check4(input)) return action4(action_arg);
2111 if (check5(input)) return action5(action_arg);
2112 if (check6(input)) return action6(action_arg);
2113 if (check7(input)) return action7(action_arg);
2114 if (check8(input)) return action8(action_arg);
2115 if (check9(input)) return action9(action_arg);
2116 if (check10(input)) return action10(action_arg);
2117 if (check11(input)) return action11(action_arg);
2118 if (check12(input)) return action12(action_arg);
2119 if (check13(input)) return action13(action_arg);
2120 if (check14(input)) return action14(action_arg);
2121 if (check15(input)) return action15(action_arg);
2122 if (check16(input)) return action16(action_arg);
2123 if (check17(input)) return action17(action_arg);
2124 if (check18(input)) return action18(action_arg);
2125 if (check19(input)) return action19(action_arg);
2126 if (check20(input)) return action20(action_arg);
2127 if (check21(input)) return action21(action_arg);
2128 if (check22(input)) return action22(action_arg);
2129 if (check23(input)) return action23(action_arg);
2130 if (check24(input)) return action24(action_arg);
2131 if (check25(input)) return action25(action_arg);
2132 if (check26(input)) return action26(action_arg);
2133 if (check27(input)) return action27(action_arg);
2134 if (check28(input)) return action28(action_arg);
2135 if (check29(input)) return action29(action_arg);
2136 if (check30(input)) return action30(action_arg);
2137 if (check31(input)) return action31(action_arg);
2138 if (check32(input)) return action32(action_arg);
2139 if (check33(input)) return action33(action_arg);
2140 if (check34(input)) return action34(action_arg);
2141 if (check35(input)) return action35(action_arg);
2142 if (check36(input)) return action36(action_arg);
2143 if (check37(input)) return action37(action_arg);
2144 if (check38(input)) return action38(action_arg);
2145 if (check39(input)) return action39(action_arg);
2146 if (check40(input)) return action40(action_arg);
2147 if (check41(input)) return action41(action_arg);
2148 return action_fail(action_arg);
2149 }
2150
2151 template <
2152 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2153 typename Check1, typename Check2, typename Check3, typename Check4,
2154 typename Check5, typename Check6, typename Check7, typename Check8,
2155 typename Check9, typename Check10, typename Check11, typename Check12,
2156 typename Check13, typename Check14, typename Check15, typename Check16,
2157 typename Check17, typename Check18, typename Check19, typename Check20,
2158 typename Check21, typename Check22, typename Check23, typename Check24,
2159 typename Check25, typename Check26, typename Check27, typename Check28,
2160 typename Check29, typename Check30, typename Check31, typename Check32,
2161 typename Check33, typename Check34, typename Check35, typename Check36,
2162 typename Check37, typename Check38, typename Check39, typename Check40,
2163 typename Check41, typename Check42, typename Action0, typename Action1,
2164 typename Action2, typename Action3, typename Action4, typename Action5,
2165 typename Action6, typename Action7, typename Action8, typename Action9,
2166 typename Action10, typename Action11, typename Action12, typename Action13,
2167 typename Action14, typename Action15, typename Action16, typename Action17,
2168 typename Action18, typename Action19, typename Action20, typename Action21,
2169 typename Action22, typename Action23, typename Action24, typename Action25,
2170 typename Action26, typename Action27, typename Action28, typename Action29,
2171 typename Action30, typename Action31, typename Action32, typename Action33,
2172 typename Action34, typename Action35, typename Action36, typename Action37,
2173 typename Action38, typename Action39, typename Action40, typename Action41,
2174 typename Action42>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42)2175 auto IfList(
2176 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2177 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2178 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2179 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2180 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2181 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2182 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2183 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2184 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2185 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2186 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2187 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2188 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2189 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
2190 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
2191 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
2192 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
2193 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
2194 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
2195 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
2196 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
2197 Action40 action40, Action41 action41, Action42 action42) {
2198 if (check0(input)) return action0(action_arg);
2199 if (check1(input)) return action1(action_arg);
2200 if (check2(input)) return action2(action_arg);
2201 if (check3(input)) return action3(action_arg);
2202 if (check4(input)) return action4(action_arg);
2203 if (check5(input)) return action5(action_arg);
2204 if (check6(input)) return action6(action_arg);
2205 if (check7(input)) return action7(action_arg);
2206 if (check8(input)) return action8(action_arg);
2207 if (check9(input)) return action9(action_arg);
2208 if (check10(input)) return action10(action_arg);
2209 if (check11(input)) return action11(action_arg);
2210 if (check12(input)) return action12(action_arg);
2211 if (check13(input)) return action13(action_arg);
2212 if (check14(input)) return action14(action_arg);
2213 if (check15(input)) return action15(action_arg);
2214 if (check16(input)) return action16(action_arg);
2215 if (check17(input)) return action17(action_arg);
2216 if (check18(input)) return action18(action_arg);
2217 if (check19(input)) return action19(action_arg);
2218 if (check20(input)) return action20(action_arg);
2219 if (check21(input)) return action21(action_arg);
2220 if (check22(input)) return action22(action_arg);
2221 if (check23(input)) return action23(action_arg);
2222 if (check24(input)) return action24(action_arg);
2223 if (check25(input)) return action25(action_arg);
2224 if (check26(input)) return action26(action_arg);
2225 if (check27(input)) return action27(action_arg);
2226 if (check28(input)) return action28(action_arg);
2227 if (check29(input)) return action29(action_arg);
2228 if (check30(input)) return action30(action_arg);
2229 if (check31(input)) return action31(action_arg);
2230 if (check32(input)) return action32(action_arg);
2231 if (check33(input)) return action33(action_arg);
2232 if (check34(input)) return action34(action_arg);
2233 if (check35(input)) return action35(action_arg);
2234 if (check36(input)) return action36(action_arg);
2235 if (check37(input)) return action37(action_arg);
2236 if (check38(input)) return action38(action_arg);
2237 if (check39(input)) return action39(action_arg);
2238 if (check40(input)) return action40(action_arg);
2239 if (check41(input)) return action41(action_arg);
2240 if (check42(input)) return action42(action_arg);
2241 return action_fail(action_arg);
2242 }
2243
2244 template <
2245 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2246 typename Check1, typename Check2, typename Check3, typename Check4,
2247 typename Check5, typename Check6, typename Check7, typename Check8,
2248 typename Check9, typename Check10, typename Check11, typename Check12,
2249 typename Check13, typename Check14, typename Check15, typename Check16,
2250 typename Check17, typename Check18, typename Check19, typename Check20,
2251 typename Check21, typename Check22, typename Check23, typename Check24,
2252 typename Check25, typename Check26, typename Check27, typename Check28,
2253 typename Check29, typename Check30, typename Check31, typename Check32,
2254 typename Check33, typename Check34, typename Check35, typename Check36,
2255 typename Check37, typename Check38, typename Check39, typename Check40,
2256 typename Check41, typename Check42, typename Check43, typename Action0,
2257 typename Action1, typename Action2, typename Action3, typename Action4,
2258 typename Action5, typename Action6, typename Action7, typename Action8,
2259 typename Action9, typename Action10, typename Action11, typename Action12,
2260 typename Action13, typename Action14, typename Action15, typename Action16,
2261 typename Action17, typename Action18, typename Action19, typename Action20,
2262 typename Action21, typename Action22, typename Action23, typename Action24,
2263 typename Action25, typename Action26, typename Action27, typename Action28,
2264 typename Action29, typename Action30, typename Action31, typename Action32,
2265 typename Action33, typename Action34, typename Action35, typename Action36,
2266 typename Action37, typename Action38, typename Action39, typename Action40,
2267 typename Action41, typename Action42, typename Action43>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43)2268 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2269 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2270 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2271 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2272 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2273 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2274 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2275 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2276 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2277 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2278 Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2279 Check40 check40, Check41 check41, Check42 check42, Check43 check43,
2280 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2281 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2282 Action8 action8, Action9 action9, Action10 action10,
2283 Action11 action11, Action12 action12, Action13 action13,
2284 Action14 action14, Action15 action15, Action16 action16,
2285 Action17 action17, Action18 action18, Action19 action19,
2286 Action20 action20, Action21 action21, Action22 action22,
2287 Action23 action23, Action24 action24, Action25 action25,
2288 Action26 action26, Action27 action27, Action28 action28,
2289 Action29 action29, Action30 action30, Action31 action31,
2290 Action32 action32, Action33 action33, Action34 action34,
2291 Action35 action35, Action36 action36, Action37 action37,
2292 Action38 action38, Action39 action39, Action40 action40,
2293 Action41 action41, Action42 action42, Action43 action43) {
2294 if (check0(input)) return action0(action_arg);
2295 if (check1(input)) return action1(action_arg);
2296 if (check2(input)) return action2(action_arg);
2297 if (check3(input)) return action3(action_arg);
2298 if (check4(input)) return action4(action_arg);
2299 if (check5(input)) return action5(action_arg);
2300 if (check6(input)) return action6(action_arg);
2301 if (check7(input)) return action7(action_arg);
2302 if (check8(input)) return action8(action_arg);
2303 if (check9(input)) return action9(action_arg);
2304 if (check10(input)) return action10(action_arg);
2305 if (check11(input)) return action11(action_arg);
2306 if (check12(input)) return action12(action_arg);
2307 if (check13(input)) return action13(action_arg);
2308 if (check14(input)) return action14(action_arg);
2309 if (check15(input)) return action15(action_arg);
2310 if (check16(input)) return action16(action_arg);
2311 if (check17(input)) return action17(action_arg);
2312 if (check18(input)) return action18(action_arg);
2313 if (check19(input)) return action19(action_arg);
2314 if (check20(input)) return action20(action_arg);
2315 if (check21(input)) return action21(action_arg);
2316 if (check22(input)) return action22(action_arg);
2317 if (check23(input)) return action23(action_arg);
2318 if (check24(input)) return action24(action_arg);
2319 if (check25(input)) return action25(action_arg);
2320 if (check26(input)) return action26(action_arg);
2321 if (check27(input)) return action27(action_arg);
2322 if (check28(input)) return action28(action_arg);
2323 if (check29(input)) return action29(action_arg);
2324 if (check30(input)) return action30(action_arg);
2325 if (check31(input)) return action31(action_arg);
2326 if (check32(input)) return action32(action_arg);
2327 if (check33(input)) return action33(action_arg);
2328 if (check34(input)) return action34(action_arg);
2329 if (check35(input)) return action35(action_arg);
2330 if (check36(input)) return action36(action_arg);
2331 if (check37(input)) return action37(action_arg);
2332 if (check38(input)) return action38(action_arg);
2333 if (check39(input)) return action39(action_arg);
2334 if (check40(input)) return action40(action_arg);
2335 if (check41(input)) return action41(action_arg);
2336 if (check42(input)) return action42(action_arg);
2337 if (check43(input)) return action43(action_arg);
2338 return action_fail(action_arg);
2339 }
2340
2341 template <
2342 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2343 typename Check1, typename Check2, typename Check3, typename Check4,
2344 typename Check5, typename Check6, typename Check7, typename Check8,
2345 typename Check9, typename Check10, typename Check11, typename Check12,
2346 typename Check13, typename Check14, typename Check15, typename Check16,
2347 typename Check17, typename Check18, typename Check19, typename Check20,
2348 typename Check21, typename Check22, typename Check23, typename Check24,
2349 typename Check25, typename Check26, typename Check27, typename Check28,
2350 typename Check29, typename Check30, typename Check31, typename Check32,
2351 typename Check33, typename Check34, typename Check35, typename Check36,
2352 typename Check37, typename Check38, typename Check39, typename Check40,
2353 typename Check41, typename Check42, typename Check43, typename Check44,
2354 typename Action0, typename Action1, typename Action2, typename Action3,
2355 typename Action4, typename Action5, typename Action6, typename Action7,
2356 typename Action8, typename Action9, typename Action10, typename Action11,
2357 typename Action12, typename Action13, typename Action14, typename Action15,
2358 typename Action16, typename Action17, typename Action18, typename Action19,
2359 typename Action20, typename Action21, typename Action22, typename Action23,
2360 typename Action24, typename Action25, typename Action26, typename Action27,
2361 typename Action28, typename Action29, typename Action30, typename Action31,
2362 typename Action32, typename Action33, typename Action34, typename Action35,
2363 typename Action36, typename Action37, typename Action38, typename Action39,
2364 typename Action40, typename Action41, typename Action42, typename Action43,
2365 typename Action44>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44)2366 auto IfList(
2367 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2368 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2369 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2370 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2371 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2372 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2373 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2374 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2375 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2376 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2377 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2378 Check43 check43, Check44 check44, Action0 action0, Action1 action1,
2379 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2380 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2381 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2382 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2383 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2384 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2385 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2386 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2387 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2388 Action38 action38, Action39 action39, Action40 action40, Action41 action41,
2389 Action42 action42, Action43 action43, Action44 action44) {
2390 if (check0(input)) return action0(action_arg);
2391 if (check1(input)) return action1(action_arg);
2392 if (check2(input)) return action2(action_arg);
2393 if (check3(input)) return action3(action_arg);
2394 if (check4(input)) return action4(action_arg);
2395 if (check5(input)) return action5(action_arg);
2396 if (check6(input)) return action6(action_arg);
2397 if (check7(input)) return action7(action_arg);
2398 if (check8(input)) return action8(action_arg);
2399 if (check9(input)) return action9(action_arg);
2400 if (check10(input)) return action10(action_arg);
2401 if (check11(input)) return action11(action_arg);
2402 if (check12(input)) return action12(action_arg);
2403 if (check13(input)) return action13(action_arg);
2404 if (check14(input)) return action14(action_arg);
2405 if (check15(input)) return action15(action_arg);
2406 if (check16(input)) return action16(action_arg);
2407 if (check17(input)) return action17(action_arg);
2408 if (check18(input)) return action18(action_arg);
2409 if (check19(input)) return action19(action_arg);
2410 if (check20(input)) return action20(action_arg);
2411 if (check21(input)) return action21(action_arg);
2412 if (check22(input)) return action22(action_arg);
2413 if (check23(input)) return action23(action_arg);
2414 if (check24(input)) return action24(action_arg);
2415 if (check25(input)) return action25(action_arg);
2416 if (check26(input)) return action26(action_arg);
2417 if (check27(input)) return action27(action_arg);
2418 if (check28(input)) return action28(action_arg);
2419 if (check29(input)) return action29(action_arg);
2420 if (check30(input)) return action30(action_arg);
2421 if (check31(input)) return action31(action_arg);
2422 if (check32(input)) return action32(action_arg);
2423 if (check33(input)) return action33(action_arg);
2424 if (check34(input)) return action34(action_arg);
2425 if (check35(input)) return action35(action_arg);
2426 if (check36(input)) return action36(action_arg);
2427 if (check37(input)) return action37(action_arg);
2428 if (check38(input)) return action38(action_arg);
2429 if (check39(input)) return action39(action_arg);
2430 if (check40(input)) return action40(action_arg);
2431 if (check41(input)) return action41(action_arg);
2432 if (check42(input)) return action42(action_arg);
2433 if (check43(input)) return action43(action_arg);
2434 if (check44(input)) return action44(action_arg);
2435 return action_fail(action_arg);
2436 }
2437
2438 template <
2439 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2440 typename Check1, typename Check2, typename Check3, typename Check4,
2441 typename Check5, typename Check6, typename Check7, typename Check8,
2442 typename Check9, typename Check10, typename Check11, typename Check12,
2443 typename Check13, typename Check14, typename Check15, typename Check16,
2444 typename Check17, typename Check18, typename Check19, typename Check20,
2445 typename Check21, typename Check22, typename Check23, typename Check24,
2446 typename Check25, typename Check26, typename Check27, typename Check28,
2447 typename Check29, typename Check30, typename Check31, typename Check32,
2448 typename Check33, typename Check34, typename Check35, typename Check36,
2449 typename Check37, typename Check38, typename Check39, typename Check40,
2450 typename Check41, typename Check42, typename Check43, typename Check44,
2451 typename Check45, typename Action0, typename Action1, typename Action2,
2452 typename Action3, typename Action4, typename Action5, typename Action6,
2453 typename Action7, typename Action8, typename Action9, typename Action10,
2454 typename Action11, typename Action12, typename Action13, typename Action14,
2455 typename Action15, typename Action16, typename Action17, typename Action18,
2456 typename Action19, typename Action20, typename Action21, typename Action22,
2457 typename Action23, typename Action24, typename Action25, typename Action26,
2458 typename Action27, typename Action28, typename Action29, typename Action30,
2459 typename Action31, typename Action32, typename Action33, typename Action34,
2460 typename Action35, typename Action36, typename Action37, typename Action38,
2461 typename Action39, typename Action40, typename Action41, typename Action42,
2462 typename Action43, typename Action44, typename Action45>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45)2463 auto IfList(CheckArg input, ActionArg action_arg, ActionFail action_fail,
2464 Check0 check0, Check1 check1, Check2 check2, Check3 check3,
2465 Check4 check4, Check5 check5, Check6 check6, Check7 check7,
2466 Check8 check8, Check9 check9, Check10 check10, Check11 check11,
2467 Check12 check12, Check13 check13, Check14 check14, Check15 check15,
2468 Check16 check16, Check17 check17, Check18 check18, Check19 check19,
2469 Check20 check20, Check21 check21, Check22 check22, Check23 check23,
2470 Check24 check24, Check25 check25, Check26 check26, Check27 check27,
2471 Check28 check28, Check29 check29, Check30 check30, Check31 check31,
2472 Check32 check32, Check33 check33, Check34 check34, Check35 check35,
2473 Check36 check36, Check37 check37, Check38 check38, Check39 check39,
2474 Check40 check40, Check41 check41, Check42 check42, Check43 check43,
2475 Check44 check44, Check45 check45, Action0 action0, Action1 action1,
2476 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2477 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2478 Action10 action10, Action11 action11, Action12 action12,
2479 Action13 action13, Action14 action14, Action15 action15,
2480 Action16 action16, Action17 action17, Action18 action18,
2481 Action19 action19, Action20 action20, Action21 action21,
2482 Action22 action22, Action23 action23, Action24 action24,
2483 Action25 action25, Action26 action26, Action27 action27,
2484 Action28 action28, Action29 action29, Action30 action30,
2485 Action31 action31, Action32 action32, Action33 action33,
2486 Action34 action34, Action35 action35, Action36 action36,
2487 Action37 action37, Action38 action38, Action39 action39,
2488 Action40 action40, Action41 action41, Action42 action42,
2489 Action43 action43, Action44 action44, Action45 action45) {
2490 if (check0(input)) return action0(action_arg);
2491 if (check1(input)) return action1(action_arg);
2492 if (check2(input)) return action2(action_arg);
2493 if (check3(input)) return action3(action_arg);
2494 if (check4(input)) return action4(action_arg);
2495 if (check5(input)) return action5(action_arg);
2496 if (check6(input)) return action6(action_arg);
2497 if (check7(input)) return action7(action_arg);
2498 if (check8(input)) return action8(action_arg);
2499 if (check9(input)) return action9(action_arg);
2500 if (check10(input)) return action10(action_arg);
2501 if (check11(input)) return action11(action_arg);
2502 if (check12(input)) return action12(action_arg);
2503 if (check13(input)) return action13(action_arg);
2504 if (check14(input)) return action14(action_arg);
2505 if (check15(input)) return action15(action_arg);
2506 if (check16(input)) return action16(action_arg);
2507 if (check17(input)) return action17(action_arg);
2508 if (check18(input)) return action18(action_arg);
2509 if (check19(input)) return action19(action_arg);
2510 if (check20(input)) return action20(action_arg);
2511 if (check21(input)) return action21(action_arg);
2512 if (check22(input)) return action22(action_arg);
2513 if (check23(input)) return action23(action_arg);
2514 if (check24(input)) return action24(action_arg);
2515 if (check25(input)) return action25(action_arg);
2516 if (check26(input)) return action26(action_arg);
2517 if (check27(input)) return action27(action_arg);
2518 if (check28(input)) return action28(action_arg);
2519 if (check29(input)) return action29(action_arg);
2520 if (check30(input)) return action30(action_arg);
2521 if (check31(input)) return action31(action_arg);
2522 if (check32(input)) return action32(action_arg);
2523 if (check33(input)) return action33(action_arg);
2524 if (check34(input)) return action34(action_arg);
2525 if (check35(input)) return action35(action_arg);
2526 if (check36(input)) return action36(action_arg);
2527 if (check37(input)) return action37(action_arg);
2528 if (check38(input)) return action38(action_arg);
2529 if (check39(input)) return action39(action_arg);
2530 if (check40(input)) return action40(action_arg);
2531 if (check41(input)) return action41(action_arg);
2532 if (check42(input)) return action42(action_arg);
2533 if (check43(input)) return action43(action_arg);
2534 if (check44(input)) return action44(action_arg);
2535 if (check45(input)) return action45(action_arg);
2536 return action_fail(action_arg);
2537 }
2538
2539 template <
2540 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2541 typename Check1, typename Check2, typename Check3, typename Check4,
2542 typename Check5, typename Check6, typename Check7, typename Check8,
2543 typename Check9, typename Check10, typename Check11, typename Check12,
2544 typename Check13, typename Check14, typename Check15, typename Check16,
2545 typename Check17, typename Check18, typename Check19, typename Check20,
2546 typename Check21, typename Check22, typename Check23, typename Check24,
2547 typename Check25, typename Check26, typename Check27, typename Check28,
2548 typename Check29, typename Check30, typename Check31, typename Check32,
2549 typename Check33, typename Check34, typename Check35, typename Check36,
2550 typename Check37, typename Check38, typename Check39, typename Check40,
2551 typename Check41, typename Check42, typename Check43, typename Check44,
2552 typename Check45, typename Check46, typename Action0, typename Action1,
2553 typename Action2, typename Action3, typename Action4, typename Action5,
2554 typename Action6, typename Action7, typename Action8, typename Action9,
2555 typename Action10, typename Action11, typename Action12, typename Action13,
2556 typename Action14, typename Action15, typename Action16, typename Action17,
2557 typename Action18, typename Action19, typename Action20, typename Action21,
2558 typename Action22, typename Action23, typename Action24, typename Action25,
2559 typename Action26, typename Action27, typename Action28, typename Action29,
2560 typename Action30, typename Action31, typename Action32, typename Action33,
2561 typename Action34, typename Action35, typename Action36, typename Action37,
2562 typename Action38, typename Action39, typename Action40, typename Action41,
2563 typename Action42, typename Action43, typename Action44, typename Action45,
2564 typename Action46>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46)2565 auto IfList(
2566 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2567 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2568 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2569 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2570 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2571 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2572 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2573 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2574 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2575 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2576 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2577 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2578 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2579 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2580 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
2581 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
2582 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
2583 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
2584 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
2585 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
2586 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
2587 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
2588 Action40 action40, Action41 action41, Action42 action42, Action43 action43,
2589 Action44 action44, Action45 action45, Action46 action46) {
2590 if (check0(input)) return action0(action_arg);
2591 if (check1(input)) return action1(action_arg);
2592 if (check2(input)) return action2(action_arg);
2593 if (check3(input)) return action3(action_arg);
2594 if (check4(input)) return action4(action_arg);
2595 if (check5(input)) return action5(action_arg);
2596 if (check6(input)) return action6(action_arg);
2597 if (check7(input)) return action7(action_arg);
2598 if (check8(input)) return action8(action_arg);
2599 if (check9(input)) return action9(action_arg);
2600 if (check10(input)) return action10(action_arg);
2601 if (check11(input)) return action11(action_arg);
2602 if (check12(input)) return action12(action_arg);
2603 if (check13(input)) return action13(action_arg);
2604 if (check14(input)) return action14(action_arg);
2605 if (check15(input)) return action15(action_arg);
2606 if (check16(input)) return action16(action_arg);
2607 if (check17(input)) return action17(action_arg);
2608 if (check18(input)) return action18(action_arg);
2609 if (check19(input)) return action19(action_arg);
2610 if (check20(input)) return action20(action_arg);
2611 if (check21(input)) return action21(action_arg);
2612 if (check22(input)) return action22(action_arg);
2613 if (check23(input)) return action23(action_arg);
2614 if (check24(input)) return action24(action_arg);
2615 if (check25(input)) return action25(action_arg);
2616 if (check26(input)) return action26(action_arg);
2617 if (check27(input)) return action27(action_arg);
2618 if (check28(input)) return action28(action_arg);
2619 if (check29(input)) return action29(action_arg);
2620 if (check30(input)) return action30(action_arg);
2621 if (check31(input)) return action31(action_arg);
2622 if (check32(input)) return action32(action_arg);
2623 if (check33(input)) return action33(action_arg);
2624 if (check34(input)) return action34(action_arg);
2625 if (check35(input)) return action35(action_arg);
2626 if (check36(input)) return action36(action_arg);
2627 if (check37(input)) return action37(action_arg);
2628 if (check38(input)) return action38(action_arg);
2629 if (check39(input)) return action39(action_arg);
2630 if (check40(input)) return action40(action_arg);
2631 if (check41(input)) return action41(action_arg);
2632 if (check42(input)) return action42(action_arg);
2633 if (check43(input)) return action43(action_arg);
2634 if (check44(input)) return action44(action_arg);
2635 if (check45(input)) return action45(action_arg);
2636 if (check46(input)) return action46(action_arg);
2637 return action_fail(action_arg);
2638 }
2639
2640 template <
2641 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2642 typename Check1, typename Check2, typename Check3, typename Check4,
2643 typename Check5, typename Check6, typename Check7, typename Check8,
2644 typename Check9, typename Check10, typename Check11, typename Check12,
2645 typename Check13, typename Check14, typename Check15, typename Check16,
2646 typename Check17, typename Check18, typename Check19, typename Check20,
2647 typename Check21, typename Check22, typename Check23, typename Check24,
2648 typename Check25, typename Check26, typename Check27, typename Check28,
2649 typename Check29, typename Check30, typename Check31, typename Check32,
2650 typename Check33, typename Check34, typename Check35, typename Check36,
2651 typename Check37, typename Check38, typename Check39, typename Check40,
2652 typename Check41, typename Check42, typename Check43, typename Check44,
2653 typename Check45, typename Check46, typename Check47, typename Action0,
2654 typename Action1, typename Action2, typename Action3, typename Action4,
2655 typename Action5, typename Action6, typename Action7, typename Action8,
2656 typename Action9, typename Action10, typename Action11, typename Action12,
2657 typename Action13, typename Action14, typename Action15, typename Action16,
2658 typename Action17, typename Action18, typename Action19, typename Action20,
2659 typename Action21, typename Action22, typename Action23, typename Action24,
2660 typename Action25, typename Action26, typename Action27, typename Action28,
2661 typename Action29, typename Action30, typename Action31, typename Action32,
2662 typename Action33, typename Action34, typename Action35, typename Action36,
2663 typename Action37, typename Action38, typename Action39, typename Action40,
2664 typename Action41, typename Action42, typename Action43, typename Action44,
2665 typename Action45, typename Action46, typename Action47>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47)2666 auto IfList(
2667 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2668 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2669 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2670 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2671 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2672 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2673 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2674 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2675 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2676 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2677 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2678 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2679 Check47 check47, Action0 action0, Action1 action1, Action2 action2,
2680 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
2681 Action7 action7, Action8 action8, Action9 action9, Action10 action10,
2682 Action11 action11, Action12 action12, Action13 action13, Action14 action14,
2683 Action15 action15, Action16 action16, Action17 action17, Action18 action18,
2684 Action19 action19, Action20 action20, Action21 action21, Action22 action22,
2685 Action23 action23, Action24 action24, Action25 action25, Action26 action26,
2686 Action27 action27, Action28 action28, Action29 action29, Action30 action30,
2687 Action31 action31, Action32 action32, Action33 action33, Action34 action34,
2688 Action35 action35, Action36 action36, Action37 action37, Action38 action38,
2689 Action39 action39, Action40 action40, Action41 action41, Action42 action42,
2690 Action43 action43, Action44 action44, Action45 action45, Action46 action46,
2691 Action47 action47) {
2692 if (check0(input)) return action0(action_arg);
2693 if (check1(input)) return action1(action_arg);
2694 if (check2(input)) return action2(action_arg);
2695 if (check3(input)) return action3(action_arg);
2696 if (check4(input)) return action4(action_arg);
2697 if (check5(input)) return action5(action_arg);
2698 if (check6(input)) return action6(action_arg);
2699 if (check7(input)) return action7(action_arg);
2700 if (check8(input)) return action8(action_arg);
2701 if (check9(input)) return action9(action_arg);
2702 if (check10(input)) return action10(action_arg);
2703 if (check11(input)) return action11(action_arg);
2704 if (check12(input)) return action12(action_arg);
2705 if (check13(input)) return action13(action_arg);
2706 if (check14(input)) return action14(action_arg);
2707 if (check15(input)) return action15(action_arg);
2708 if (check16(input)) return action16(action_arg);
2709 if (check17(input)) return action17(action_arg);
2710 if (check18(input)) return action18(action_arg);
2711 if (check19(input)) return action19(action_arg);
2712 if (check20(input)) return action20(action_arg);
2713 if (check21(input)) return action21(action_arg);
2714 if (check22(input)) return action22(action_arg);
2715 if (check23(input)) return action23(action_arg);
2716 if (check24(input)) return action24(action_arg);
2717 if (check25(input)) return action25(action_arg);
2718 if (check26(input)) return action26(action_arg);
2719 if (check27(input)) return action27(action_arg);
2720 if (check28(input)) return action28(action_arg);
2721 if (check29(input)) return action29(action_arg);
2722 if (check30(input)) return action30(action_arg);
2723 if (check31(input)) return action31(action_arg);
2724 if (check32(input)) return action32(action_arg);
2725 if (check33(input)) return action33(action_arg);
2726 if (check34(input)) return action34(action_arg);
2727 if (check35(input)) return action35(action_arg);
2728 if (check36(input)) return action36(action_arg);
2729 if (check37(input)) return action37(action_arg);
2730 if (check38(input)) return action38(action_arg);
2731 if (check39(input)) return action39(action_arg);
2732 if (check40(input)) return action40(action_arg);
2733 if (check41(input)) return action41(action_arg);
2734 if (check42(input)) return action42(action_arg);
2735 if (check43(input)) return action43(action_arg);
2736 if (check44(input)) return action44(action_arg);
2737 if (check45(input)) return action45(action_arg);
2738 if (check46(input)) return action46(action_arg);
2739 if (check47(input)) return action47(action_arg);
2740 return action_fail(action_arg);
2741 }
2742
2743 template <
2744 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2745 typename Check1, typename Check2, typename Check3, typename Check4,
2746 typename Check5, typename Check6, typename Check7, typename Check8,
2747 typename Check9, typename Check10, typename Check11, typename Check12,
2748 typename Check13, typename Check14, typename Check15, typename Check16,
2749 typename Check17, typename Check18, typename Check19, typename Check20,
2750 typename Check21, typename Check22, typename Check23, typename Check24,
2751 typename Check25, typename Check26, typename Check27, typename Check28,
2752 typename Check29, typename Check30, typename Check31, typename Check32,
2753 typename Check33, typename Check34, typename Check35, typename Check36,
2754 typename Check37, typename Check38, typename Check39, typename Check40,
2755 typename Check41, typename Check42, typename Check43, typename Check44,
2756 typename Check45, typename Check46, typename Check47, typename Check48,
2757 typename Action0, typename Action1, typename Action2, typename Action3,
2758 typename Action4, typename Action5, typename Action6, typename Action7,
2759 typename Action8, typename Action9, typename Action10, typename Action11,
2760 typename Action12, typename Action13, typename Action14, typename Action15,
2761 typename Action16, typename Action17, typename Action18, typename Action19,
2762 typename Action20, typename Action21, typename Action22, typename Action23,
2763 typename Action24, typename Action25, typename Action26, typename Action27,
2764 typename Action28, typename Action29, typename Action30, typename Action31,
2765 typename Action32, typename Action33, typename Action34, typename Action35,
2766 typename Action36, typename Action37, typename Action38, typename Action39,
2767 typename Action40, typename Action41, typename Action42, typename Action43,
2768 typename Action44, typename Action45, typename Action46, typename Action47,
2769 typename Action48>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48)2770 auto IfList(
2771 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2772 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2773 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2774 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2775 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2776 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2777 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2778 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2779 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2780 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2781 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2782 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2783 Check47 check47, Check48 check48, Action0 action0, Action1 action1,
2784 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
2785 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
2786 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
2787 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
2788 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
2789 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
2790 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
2791 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
2792 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
2793 Action38 action38, Action39 action39, Action40 action40, Action41 action41,
2794 Action42 action42, Action43 action43, Action44 action44, Action45 action45,
2795 Action46 action46, Action47 action47, Action48 action48) {
2796 if (check0(input)) return action0(action_arg);
2797 if (check1(input)) return action1(action_arg);
2798 if (check2(input)) return action2(action_arg);
2799 if (check3(input)) return action3(action_arg);
2800 if (check4(input)) return action4(action_arg);
2801 if (check5(input)) return action5(action_arg);
2802 if (check6(input)) return action6(action_arg);
2803 if (check7(input)) return action7(action_arg);
2804 if (check8(input)) return action8(action_arg);
2805 if (check9(input)) return action9(action_arg);
2806 if (check10(input)) return action10(action_arg);
2807 if (check11(input)) return action11(action_arg);
2808 if (check12(input)) return action12(action_arg);
2809 if (check13(input)) return action13(action_arg);
2810 if (check14(input)) return action14(action_arg);
2811 if (check15(input)) return action15(action_arg);
2812 if (check16(input)) return action16(action_arg);
2813 if (check17(input)) return action17(action_arg);
2814 if (check18(input)) return action18(action_arg);
2815 if (check19(input)) return action19(action_arg);
2816 if (check20(input)) return action20(action_arg);
2817 if (check21(input)) return action21(action_arg);
2818 if (check22(input)) return action22(action_arg);
2819 if (check23(input)) return action23(action_arg);
2820 if (check24(input)) return action24(action_arg);
2821 if (check25(input)) return action25(action_arg);
2822 if (check26(input)) return action26(action_arg);
2823 if (check27(input)) return action27(action_arg);
2824 if (check28(input)) return action28(action_arg);
2825 if (check29(input)) return action29(action_arg);
2826 if (check30(input)) return action30(action_arg);
2827 if (check31(input)) return action31(action_arg);
2828 if (check32(input)) return action32(action_arg);
2829 if (check33(input)) return action33(action_arg);
2830 if (check34(input)) return action34(action_arg);
2831 if (check35(input)) return action35(action_arg);
2832 if (check36(input)) return action36(action_arg);
2833 if (check37(input)) return action37(action_arg);
2834 if (check38(input)) return action38(action_arg);
2835 if (check39(input)) return action39(action_arg);
2836 if (check40(input)) return action40(action_arg);
2837 if (check41(input)) return action41(action_arg);
2838 if (check42(input)) return action42(action_arg);
2839 if (check43(input)) return action43(action_arg);
2840 if (check44(input)) return action44(action_arg);
2841 if (check45(input)) return action45(action_arg);
2842 if (check46(input)) return action46(action_arg);
2843 if (check47(input)) return action47(action_arg);
2844 if (check48(input)) return action48(action_arg);
2845 return action_fail(action_arg);
2846 }
2847
2848 template <
2849 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2850 typename Check1, typename Check2, typename Check3, typename Check4,
2851 typename Check5, typename Check6, typename Check7, typename Check8,
2852 typename Check9, typename Check10, typename Check11, typename Check12,
2853 typename Check13, typename Check14, typename Check15, typename Check16,
2854 typename Check17, typename Check18, typename Check19, typename Check20,
2855 typename Check21, typename Check22, typename Check23, typename Check24,
2856 typename Check25, typename Check26, typename Check27, typename Check28,
2857 typename Check29, typename Check30, typename Check31, typename Check32,
2858 typename Check33, typename Check34, typename Check35, typename Check36,
2859 typename Check37, typename Check38, typename Check39, typename Check40,
2860 typename Check41, typename Check42, typename Check43, typename Check44,
2861 typename Check45, typename Check46, typename Check47, typename Check48,
2862 typename Check49, typename Action0, typename Action1, typename Action2,
2863 typename Action3, typename Action4, typename Action5, typename Action6,
2864 typename Action7, typename Action8, typename Action9, typename Action10,
2865 typename Action11, typename Action12, typename Action13, typename Action14,
2866 typename Action15, typename Action16, typename Action17, typename Action18,
2867 typename Action19, typename Action20, typename Action21, typename Action22,
2868 typename Action23, typename Action24, typename Action25, typename Action26,
2869 typename Action27, typename Action28, typename Action29, typename Action30,
2870 typename Action31, typename Action32, typename Action33, typename Action34,
2871 typename Action35, typename Action36, typename Action37, typename Action38,
2872 typename Action39, typename Action40, typename Action41, typename Action42,
2873 typename Action43, typename Action44, typename Action45, typename Action46,
2874 typename Action47, typename Action48, typename Action49>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49)2875 auto IfList(
2876 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2877 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2878 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2879 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2880 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2881 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2882 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2883 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2884 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2885 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2886 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2887 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2888 Check47 check47, Check48 check48, Check49 check49, Action0 action0,
2889 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
2890 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
2891 Action9 action9, Action10 action10, Action11 action11, Action12 action12,
2892 Action13 action13, Action14 action14, Action15 action15, Action16 action16,
2893 Action17 action17, Action18 action18, Action19 action19, Action20 action20,
2894 Action21 action21, Action22 action22, Action23 action23, Action24 action24,
2895 Action25 action25, Action26 action26, Action27 action27, Action28 action28,
2896 Action29 action29, Action30 action30, Action31 action31, Action32 action32,
2897 Action33 action33, Action34 action34, Action35 action35, Action36 action36,
2898 Action37 action37, Action38 action38, Action39 action39, Action40 action40,
2899 Action41 action41, Action42 action42, Action43 action43, Action44 action44,
2900 Action45 action45, Action46 action46, Action47 action47, Action48 action48,
2901 Action49 action49) {
2902 if (check0(input)) return action0(action_arg);
2903 if (check1(input)) return action1(action_arg);
2904 if (check2(input)) return action2(action_arg);
2905 if (check3(input)) return action3(action_arg);
2906 if (check4(input)) return action4(action_arg);
2907 if (check5(input)) return action5(action_arg);
2908 if (check6(input)) return action6(action_arg);
2909 if (check7(input)) return action7(action_arg);
2910 if (check8(input)) return action8(action_arg);
2911 if (check9(input)) return action9(action_arg);
2912 if (check10(input)) return action10(action_arg);
2913 if (check11(input)) return action11(action_arg);
2914 if (check12(input)) return action12(action_arg);
2915 if (check13(input)) return action13(action_arg);
2916 if (check14(input)) return action14(action_arg);
2917 if (check15(input)) return action15(action_arg);
2918 if (check16(input)) return action16(action_arg);
2919 if (check17(input)) return action17(action_arg);
2920 if (check18(input)) return action18(action_arg);
2921 if (check19(input)) return action19(action_arg);
2922 if (check20(input)) return action20(action_arg);
2923 if (check21(input)) return action21(action_arg);
2924 if (check22(input)) return action22(action_arg);
2925 if (check23(input)) return action23(action_arg);
2926 if (check24(input)) return action24(action_arg);
2927 if (check25(input)) return action25(action_arg);
2928 if (check26(input)) return action26(action_arg);
2929 if (check27(input)) return action27(action_arg);
2930 if (check28(input)) return action28(action_arg);
2931 if (check29(input)) return action29(action_arg);
2932 if (check30(input)) return action30(action_arg);
2933 if (check31(input)) return action31(action_arg);
2934 if (check32(input)) return action32(action_arg);
2935 if (check33(input)) return action33(action_arg);
2936 if (check34(input)) return action34(action_arg);
2937 if (check35(input)) return action35(action_arg);
2938 if (check36(input)) return action36(action_arg);
2939 if (check37(input)) return action37(action_arg);
2940 if (check38(input)) return action38(action_arg);
2941 if (check39(input)) return action39(action_arg);
2942 if (check40(input)) return action40(action_arg);
2943 if (check41(input)) return action41(action_arg);
2944 if (check42(input)) return action42(action_arg);
2945 if (check43(input)) return action43(action_arg);
2946 if (check44(input)) return action44(action_arg);
2947 if (check45(input)) return action45(action_arg);
2948 if (check46(input)) return action46(action_arg);
2949 if (check47(input)) return action47(action_arg);
2950 if (check48(input)) return action48(action_arg);
2951 if (check49(input)) return action49(action_arg);
2952 return action_fail(action_arg);
2953 }
2954
2955 template <
2956 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
2957 typename Check1, typename Check2, typename Check3, typename Check4,
2958 typename Check5, typename Check6, typename Check7, typename Check8,
2959 typename Check9, typename Check10, typename Check11, typename Check12,
2960 typename Check13, typename Check14, typename Check15, typename Check16,
2961 typename Check17, typename Check18, typename Check19, typename Check20,
2962 typename Check21, typename Check22, typename Check23, typename Check24,
2963 typename Check25, typename Check26, typename Check27, typename Check28,
2964 typename Check29, typename Check30, typename Check31, typename Check32,
2965 typename Check33, typename Check34, typename Check35, typename Check36,
2966 typename Check37, typename Check38, typename Check39, typename Check40,
2967 typename Check41, typename Check42, typename Check43, typename Check44,
2968 typename Check45, typename Check46, typename Check47, typename Check48,
2969 typename Check49, typename Check50, typename Action0, typename Action1,
2970 typename Action2, typename Action3, typename Action4, typename Action5,
2971 typename Action6, typename Action7, typename Action8, typename Action9,
2972 typename Action10, typename Action11, typename Action12, typename Action13,
2973 typename Action14, typename Action15, typename Action16, typename Action17,
2974 typename Action18, typename Action19, typename Action20, typename Action21,
2975 typename Action22, typename Action23, typename Action24, typename Action25,
2976 typename Action26, typename Action27, typename Action28, typename Action29,
2977 typename Action30, typename Action31, typename Action32, typename Action33,
2978 typename Action34, typename Action35, typename Action36, typename Action37,
2979 typename Action38, typename Action39, typename Action40, typename Action41,
2980 typename Action42, typename Action43, typename Action44, typename Action45,
2981 typename Action46, typename Action47, typename Action48, typename Action49,
2982 typename Action50>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50)2983 auto IfList(
2984 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
2985 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
2986 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
2987 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
2988 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
2989 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
2990 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
2991 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
2992 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
2993 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
2994 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
2995 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
2996 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
2997 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
2998 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
2999 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3000 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3001 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3002 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3003 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3004 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3005 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3006 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3007 Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3008 Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3009 Action48 action48, Action49 action49, Action50 action50) {
3010 if (check0(input)) return action0(action_arg);
3011 if (check1(input)) return action1(action_arg);
3012 if (check2(input)) return action2(action_arg);
3013 if (check3(input)) return action3(action_arg);
3014 if (check4(input)) return action4(action_arg);
3015 if (check5(input)) return action5(action_arg);
3016 if (check6(input)) return action6(action_arg);
3017 if (check7(input)) return action7(action_arg);
3018 if (check8(input)) return action8(action_arg);
3019 if (check9(input)) return action9(action_arg);
3020 if (check10(input)) return action10(action_arg);
3021 if (check11(input)) return action11(action_arg);
3022 if (check12(input)) return action12(action_arg);
3023 if (check13(input)) return action13(action_arg);
3024 if (check14(input)) return action14(action_arg);
3025 if (check15(input)) return action15(action_arg);
3026 if (check16(input)) return action16(action_arg);
3027 if (check17(input)) return action17(action_arg);
3028 if (check18(input)) return action18(action_arg);
3029 if (check19(input)) return action19(action_arg);
3030 if (check20(input)) return action20(action_arg);
3031 if (check21(input)) return action21(action_arg);
3032 if (check22(input)) return action22(action_arg);
3033 if (check23(input)) return action23(action_arg);
3034 if (check24(input)) return action24(action_arg);
3035 if (check25(input)) return action25(action_arg);
3036 if (check26(input)) return action26(action_arg);
3037 if (check27(input)) return action27(action_arg);
3038 if (check28(input)) return action28(action_arg);
3039 if (check29(input)) return action29(action_arg);
3040 if (check30(input)) return action30(action_arg);
3041 if (check31(input)) return action31(action_arg);
3042 if (check32(input)) return action32(action_arg);
3043 if (check33(input)) return action33(action_arg);
3044 if (check34(input)) return action34(action_arg);
3045 if (check35(input)) return action35(action_arg);
3046 if (check36(input)) return action36(action_arg);
3047 if (check37(input)) return action37(action_arg);
3048 if (check38(input)) return action38(action_arg);
3049 if (check39(input)) return action39(action_arg);
3050 if (check40(input)) return action40(action_arg);
3051 if (check41(input)) return action41(action_arg);
3052 if (check42(input)) return action42(action_arg);
3053 if (check43(input)) return action43(action_arg);
3054 if (check44(input)) return action44(action_arg);
3055 if (check45(input)) return action45(action_arg);
3056 if (check46(input)) return action46(action_arg);
3057 if (check47(input)) return action47(action_arg);
3058 if (check48(input)) return action48(action_arg);
3059 if (check49(input)) return action49(action_arg);
3060 if (check50(input)) return action50(action_arg);
3061 return action_fail(action_arg);
3062 }
3063
3064 template <
3065 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3066 typename Check1, typename Check2, typename Check3, typename Check4,
3067 typename Check5, typename Check6, typename Check7, typename Check8,
3068 typename Check9, typename Check10, typename Check11, typename Check12,
3069 typename Check13, typename Check14, typename Check15, typename Check16,
3070 typename Check17, typename Check18, typename Check19, typename Check20,
3071 typename Check21, typename Check22, typename Check23, typename Check24,
3072 typename Check25, typename Check26, typename Check27, typename Check28,
3073 typename Check29, typename Check30, typename Check31, typename Check32,
3074 typename Check33, typename Check34, typename Check35, typename Check36,
3075 typename Check37, typename Check38, typename Check39, typename Check40,
3076 typename Check41, typename Check42, typename Check43, typename Check44,
3077 typename Check45, typename Check46, typename Check47, typename Check48,
3078 typename Check49, typename Check50, typename Check51, typename Action0,
3079 typename Action1, typename Action2, typename Action3, typename Action4,
3080 typename Action5, typename Action6, typename Action7, typename Action8,
3081 typename Action9, typename Action10, typename Action11, typename Action12,
3082 typename Action13, typename Action14, typename Action15, typename Action16,
3083 typename Action17, typename Action18, typename Action19, typename Action20,
3084 typename Action21, typename Action22, typename Action23, typename Action24,
3085 typename Action25, typename Action26, typename Action27, typename Action28,
3086 typename Action29, typename Action30, typename Action31, typename Action32,
3087 typename Action33, typename Action34, typename Action35, typename Action36,
3088 typename Action37, typename Action38, typename Action39, typename Action40,
3089 typename Action41, typename Action42, typename Action43, typename Action44,
3090 typename Action45, typename Action46, typename Action47, typename Action48,
3091 typename Action49, typename Action50, typename Action51>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51)3092 auto IfList(
3093 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3094 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3095 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3096 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3097 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3098 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3099 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3100 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3101 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3102 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3103 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3104 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3105 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3106 Check51 check51, Action0 action0, Action1 action1, Action2 action2,
3107 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
3108 Action7 action7, Action8 action8, Action9 action9, Action10 action10,
3109 Action11 action11, Action12 action12, Action13 action13, Action14 action14,
3110 Action15 action15, Action16 action16, Action17 action17, Action18 action18,
3111 Action19 action19, Action20 action20, Action21 action21, Action22 action22,
3112 Action23 action23, Action24 action24, Action25 action25, Action26 action26,
3113 Action27 action27, Action28 action28, Action29 action29, Action30 action30,
3114 Action31 action31, Action32 action32, Action33 action33, Action34 action34,
3115 Action35 action35, Action36 action36, Action37 action37, Action38 action38,
3116 Action39 action39, Action40 action40, Action41 action41, Action42 action42,
3117 Action43 action43, Action44 action44, Action45 action45, Action46 action46,
3118 Action47 action47, Action48 action48, Action49 action49, Action50 action50,
3119 Action51 action51) {
3120 if (check0(input)) return action0(action_arg);
3121 if (check1(input)) return action1(action_arg);
3122 if (check2(input)) return action2(action_arg);
3123 if (check3(input)) return action3(action_arg);
3124 if (check4(input)) return action4(action_arg);
3125 if (check5(input)) return action5(action_arg);
3126 if (check6(input)) return action6(action_arg);
3127 if (check7(input)) return action7(action_arg);
3128 if (check8(input)) return action8(action_arg);
3129 if (check9(input)) return action9(action_arg);
3130 if (check10(input)) return action10(action_arg);
3131 if (check11(input)) return action11(action_arg);
3132 if (check12(input)) return action12(action_arg);
3133 if (check13(input)) return action13(action_arg);
3134 if (check14(input)) return action14(action_arg);
3135 if (check15(input)) return action15(action_arg);
3136 if (check16(input)) return action16(action_arg);
3137 if (check17(input)) return action17(action_arg);
3138 if (check18(input)) return action18(action_arg);
3139 if (check19(input)) return action19(action_arg);
3140 if (check20(input)) return action20(action_arg);
3141 if (check21(input)) return action21(action_arg);
3142 if (check22(input)) return action22(action_arg);
3143 if (check23(input)) return action23(action_arg);
3144 if (check24(input)) return action24(action_arg);
3145 if (check25(input)) return action25(action_arg);
3146 if (check26(input)) return action26(action_arg);
3147 if (check27(input)) return action27(action_arg);
3148 if (check28(input)) return action28(action_arg);
3149 if (check29(input)) return action29(action_arg);
3150 if (check30(input)) return action30(action_arg);
3151 if (check31(input)) return action31(action_arg);
3152 if (check32(input)) return action32(action_arg);
3153 if (check33(input)) return action33(action_arg);
3154 if (check34(input)) return action34(action_arg);
3155 if (check35(input)) return action35(action_arg);
3156 if (check36(input)) return action36(action_arg);
3157 if (check37(input)) return action37(action_arg);
3158 if (check38(input)) return action38(action_arg);
3159 if (check39(input)) return action39(action_arg);
3160 if (check40(input)) return action40(action_arg);
3161 if (check41(input)) return action41(action_arg);
3162 if (check42(input)) return action42(action_arg);
3163 if (check43(input)) return action43(action_arg);
3164 if (check44(input)) return action44(action_arg);
3165 if (check45(input)) return action45(action_arg);
3166 if (check46(input)) return action46(action_arg);
3167 if (check47(input)) return action47(action_arg);
3168 if (check48(input)) return action48(action_arg);
3169 if (check49(input)) return action49(action_arg);
3170 if (check50(input)) return action50(action_arg);
3171 if (check51(input)) return action51(action_arg);
3172 return action_fail(action_arg);
3173 }
3174
3175 template <
3176 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3177 typename Check1, typename Check2, typename Check3, typename Check4,
3178 typename Check5, typename Check6, typename Check7, typename Check8,
3179 typename Check9, typename Check10, typename Check11, typename Check12,
3180 typename Check13, typename Check14, typename Check15, typename Check16,
3181 typename Check17, typename Check18, typename Check19, typename Check20,
3182 typename Check21, typename Check22, typename Check23, typename Check24,
3183 typename Check25, typename Check26, typename Check27, typename Check28,
3184 typename Check29, typename Check30, typename Check31, typename Check32,
3185 typename Check33, typename Check34, typename Check35, typename Check36,
3186 typename Check37, typename Check38, typename Check39, typename Check40,
3187 typename Check41, typename Check42, typename Check43, typename Check44,
3188 typename Check45, typename Check46, typename Check47, typename Check48,
3189 typename Check49, typename Check50, typename Check51, typename Check52,
3190 typename Action0, typename Action1, typename Action2, typename Action3,
3191 typename Action4, typename Action5, typename Action6, typename Action7,
3192 typename Action8, typename Action9, typename Action10, typename Action11,
3193 typename Action12, typename Action13, typename Action14, typename Action15,
3194 typename Action16, typename Action17, typename Action18, typename Action19,
3195 typename Action20, typename Action21, typename Action22, typename Action23,
3196 typename Action24, typename Action25, typename Action26, typename Action27,
3197 typename Action28, typename Action29, typename Action30, typename Action31,
3198 typename Action32, typename Action33, typename Action34, typename Action35,
3199 typename Action36, typename Action37, typename Action38, typename Action39,
3200 typename Action40, typename Action41, typename Action42, typename Action43,
3201 typename Action44, typename Action45, typename Action46, typename Action47,
3202 typename Action48, typename Action49, typename Action50, typename Action51,
3203 typename Action52>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52)3204 auto IfList(
3205 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3206 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3207 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3208 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3209 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3210 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3211 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3212 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3213 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3214 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3215 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3216 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3217 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3218 Check51 check51, Check52 check52, Action0 action0, Action1 action1,
3219 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
3220 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
3221 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
3222 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
3223 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
3224 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
3225 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
3226 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
3227 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
3228 Action38 action38, Action39 action39, Action40 action40, Action41 action41,
3229 Action42 action42, Action43 action43, Action44 action44, Action45 action45,
3230 Action46 action46, Action47 action47, Action48 action48, Action49 action49,
3231 Action50 action50, Action51 action51, Action52 action52) {
3232 if (check0(input)) return action0(action_arg);
3233 if (check1(input)) return action1(action_arg);
3234 if (check2(input)) return action2(action_arg);
3235 if (check3(input)) return action3(action_arg);
3236 if (check4(input)) return action4(action_arg);
3237 if (check5(input)) return action5(action_arg);
3238 if (check6(input)) return action6(action_arg);
3239 if (check7(input)) return action7(action_arg);
3240 if (check8(input)) return action8(action_arg);
3241 if (check9(input)) return action9(action_arg);
3242 if (check10(input)) return action10(action_arg);
3243 if (check11(input)) return action11(action_arg);
3244 if (check12(input)) return action12(action_arg);
3245 if (check13(input)) return action13(action_arg);
3246 if (check14(input)) return action14(action_arg);
3247 if (check15(input)) return action15(action_arg);
3248 if (check16(input)) return action16(action_arg);
3249 if (check17(input)) return action17(action_arg);
3250 if (check18(input)) return action18(action_arg);
3251 if (check19(input)) return action19(action_arg);
3252 if (check20(input)) return action20(action_arg);
3253 if (check21(input)) return action21(action_arg);
3254 if (check22(input)) return action22(action_arg);
3255 if (check23(input)) return action23(action_arg);
3256 if (check24(input)) return action24(action_arg);
3257 if (check25(input)) return action25(action_arg);
3258 if (check26(input)) return action26(action_arg);
3259 if (check27(input)) return action27(action_arg);
3260 if (check28(input)) return action28(action_arg);
3261 if (check29(input)) return action29(action_arg);
3262 if (check30(input)) return action30(action_arg);
3263 if (check31(input)) return action31(action_arg);
3264 if (check32(input)) return action32(action_arg);
3265 if (check33(input)) return action33(action_arg);
3266 if (check34(input)) return action34(action_arg);
3267 if (check35(input)) return action35(action_arg);
3268 if (check36(input)) return action36(action_arg);
3269 if (check37(input)) return action37(action_arg);
3270 if (check38(input)) return action38(action_arg);
3271 if (check39(input)) return action39(action_arg);
3272 if (check40(input)) return action40(action_arg);
3273 if (check41(input)) return action41(action_arg);
3274 if (check42(input)) return action42(action_arg);
3275 if (check43(input)) return action43(action_arg);
3276 if (check44(input)) return action44(action_arg);
3277 if (check45(input)) return action45(action_arg);
3278 if (check46(input)) return action46(action_arg);
3279 if (check47(input)) return action47(action_arg);
3280 if (check48(input)) return action48(action_arg);
3281 if (check49(input)) return action49(action_arg);
3282 if (check50(input)) return action50(action_arg);
3283 if (check51(input)) return action51(action_arg);
3284 if (check52(input)) return action52(action_arg);
3285 return action_fail(action_arg);
3286 }
3287
3288 template <
3289 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3290 typename Check1, typename Check2, typename Check3, typename Check4,
3291 typename Check5, typename Check6, typename Check7, typename Check8,
3292 typename Check9, typename Check10, typename Check11, typename Check12,
3293 typename Check13, typename Check14, typename Check15, typename Check16,
3294 typename Check17, typename Check18, typename Check19, typename Check20,
3295 typename Check21, typename Check22, typename Check23, typename Check24,
3296 typename Check25, typename Check26, typename Check27, typename Check28,
3297 typename Check29, typename Check30, typename Check31, typename Check32,
3298 typename Check33, typename Check34, typename Check35, typename Check36,
3299 typename Check37, typename Check38, typename Check39, typename Check40,
3300 typename Check41, typename Check42, typename Check43, typename Check44,
3301 typename Check45, typename Check46, typename Check47, typename Check48,
3302 typename Check49, typename Check50, typename Check51, typename Check52,
3303 typename Check53, typename Action0, typename Action1, typename Action2,
3304 typename Action3, typename Action4, typename Action5, typename Action6,
3305 typename Action7, typename Action8, typename Action9, typename Action10,
3306 typename Action11, typename Action12, typename Action13, typename Action14,
3307 typename Action15, typename Action16, typename Action17, typename Action18,
3308 typename Action19, typename Action20, typename Action21, typename Action22,
3309 typename Action23, typename Action24, typename Action25, typename Action26,
3310 typename Action27, typename Action28, typename Action29, typename Action30,
3311 typename Action31, typename Action32, typename Action33, typename Action34,
3312 typename Action35, typename Action36, typename Action37, typename Action38,
3313 typename Action39, typename Action40, typename Action41, typename Action42,
3314 typename Action43, typename Action44, typename Action45, typename Action46,
3315 typename Action47, typename Action48, typename Action49, typename Action50,
3316 typename Action51, typename Action52, typename Action53>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53)3317 auto IfList(
3318 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3319 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3320 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3321 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3322 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3323 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3324 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3325 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3326 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3327 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3328 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3329 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3330 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3331 Check51 check51, Check52 check52, Check53 check53, Action0 action0,
3332 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
3333 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
3334 Action9 action9, Action10 action10, Action11 action11, Action12 action12,
3335 Action13 action13, Action14 action14, Action15 action15, Action16 action16,
3336 Action17 action17, Action18 action18, Action19 action19, Action20 action20,
3337 Action21 action21, Action22 action22, Action23 action23, Action24 action24,
3338 Action25 action25, Action26 action26, Action27 action27, Action28 action28,
3339 Action29 action29, Action30 action30, Action31 action31, Action32 action32,
3340 Action33 action33, Action34 action34, Action35 action35, Action36 action36,
3341 Action37 action37, Action38 action38, Action39 action39, Action40 action40,
3342 Action41 action41, Action42 action42, Action43 action43, Action44 action44,
3343 Action45 action45, Action46 action46, Action47 action47, Action48 action48,
3344 Action49 action49, Action50 action50, Action51 action51, Action52 action52,
3345 Action53 action53) {
3346 if (check0(input)) return action0(action_arg);
3347 if (check1(input)) return action1(action_arg);
3348 if (check2(input)) return action2(action_arg);
3349 if (check3(input)) return action3(action_arg);
3350 if (check4(input)) return action4(action_arg);
3351 if (check5(input)) return action5(action_arg);
3352 if (check6(input)) return action6(action_arg);
3353 if (check7(input)) return action7(action_arg);
3354 if (check8(input)) return action8(action_arg);
3355 if (check9(input)) return action9(action_arg);
3356 if (check10(input)) return action10(action_arg);
3357 if (check11(input)) return action11(action_arg);
3358 if (check12(input)) return action12(action_arg);
3359 if (check13(input)) return action13(action_arg);
3360 if (check14(input)) return action14(action_arg);
3361 if (check15(input)) return action15(action_arg);
3362 if (check16(input)) return action16(action_arg);
3363 if (check17(input)) return action17(action_arg);
3364 if (check18(input)) return action18(action_arg);
3365 if (check19(input)) return action19(action_arg);
3366 if (check20(input)) return action20(action_arg);
3367 if (check21(input)) return action21(action_arg);
3368 if (check22(input)) return action22(action_arg);
3369 if (check23(input)) return action23(action_arg);
3370 if (check24(input)) return action24(action_arg);
3371 if (check25(input)) return action25(action_arg);
3372 if (check26(input)) return action26(action_arg);
3373 if (check27(input)) return action27(action_arg);
3374 if (check28(input)) return action28(action_arg);
3375 if (check29(input)) return action29(action_arg);
3376 if (check30(input)) return action30(action_arg);
3377 if (check31(input)) return action31(action_arg);
3378 if (check32(input)) return action32(action_arg);
3379 if (check33(input)) return action33(action_arg);
3380 if (check34(input)) return action34(action_arg);
3381 if (check35(input)) return action35(action_arg);
3382 if (check36(input)) return action36(action_arg);
3383 if (check37(input)) return action37(action_arg);
3384 if (check38(input)) return action38(action_arg);
3385 if (check39(input)) return action39(action_arg);
3386 if (check40(input)) return action40(action_arg);
3387 if (check41(input)) return action41(action_arg);
3388 if (check42(input)) return action42(action_arg);
3389 if (check43(input)) return action43(action_arg);
3390 if (check44(input)) return action44(action_arg);
3391 if (check45(input)) return action45(action_arg);
3392 if (check46(input)) return action46(action_arg);
3393 if (check47(input)) return action47(action_arg);
3394 if (check48(input)) return action48(action_arg);
3395 if (check49(input)) return action49(action_arg);
3396 if (check50(input)) return action50(action_arg);
3397 if (check51(input)) return action51(action_arg);
3398 if (check52(input)) return action52(action_arg);
3399 if (check53(input)) return action53(action_arg);
3400 return action_fail(action_arg);
3401 }
3402
3403 template <
3404 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3405 typename Check1, typename Check2, typename Check3, typename Check4,
3406 typename Check5, typename Check6, typename Check7, typename Check8,
3407 typename Check9, typename Check10, typename Check11, typename Check12,
3408 typename Check13, typename Check14, typename Check15, typename Check16,
3409 typename Check17, typename Check18, typename Check19, typename Check20,
3410 typename Check21, typename Check22, typename Check23, typename Check24,
3411 typename Check25, typename Check26, typename Check27, typename Check28,
3412 typename Check29, typename Check30, typename Check31, typename Check32,
3413 typename Check33, typename Check34, typename Check35, typename Check36,
3414 typename Check37, typename Check38, typename Check39, typename Check40,
3415 typename Check41, typename Check42, typename Check43, typename Check44,
3416 typename Check45, typename Check46, typename Check47, typename Check48,
3417 typename Check49, typename Check50, typename Check51, typename Check52,
3418 typename Check53, typename Check54, typename Action0, typename Action1,
3419 typename Action2, typename Action3, typename Action4, typename Action5,
3420 typename Action6, typename Action7, typename Action8, typename Action9,
3421 typename Action10, typename Action11, typename Action12, typename Action13,
3422 typename Action14, typename Action15, typename Action16, typename Action17,
3423 typename Action18, typename Action19, typename Action20, typename Action21,
3424 typename Action22, typename Action23, typename Action24, typename Action25,
3425 typename Action26, typename Action27, typename Action28, typename Action29,
3426 typename Action30, typename Action31, typename Action32, typename Action33,
3427 typename Action34, typename Action35, typename Action36, typename Action37,
3428 typename Action38, typename Action39, typename Action40, typename Action41,
3429 typename Action42, typename Action43, typename Action44, typename Action45,
3430 typename Action46, typename Action47, typename Action48, typename Action49,
3431 typename Action50, typename Action51, typename Action52, typename Action53,
3432 typename Action54>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54)3433 auto IfList(
3434 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3435 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3436 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3437 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3438 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3439 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3440 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3441 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3442 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3443 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3444 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3445 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3446 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3447 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3448 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
3449 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
3450 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3451 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3452 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3453 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3454 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3455 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3456 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3457 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3458 Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3459 Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3460 Action48 action48, Action49 action49, Action50 action50, Action51 action51,
3461 Action52 action52, Action53 action53, Action54 action54) {
3462 if (check0(input)) return action0(action_arg);
3463 if (check1(input)) return action1(action_arg);
3464 if (check2(input)) return action2(action_arg);
3465 if (check3(input)) return action3(action_arg);
3466 if (check4(input)) return action4(action_arg);
3467 if (check5(input)) return action5(action_arg);
3468 if (check6(input)) return action6(action_arg);
3469 if (check7(input)) return action7(action_arg);
3470 if (check8(input)) return action8(action_arg);
3471 if (check9(input)) return action9(action_arg);
3472 if (check10(input)) return action10(action_arg);
3473 if (check11(input)) return action11(action_arg);
3474 if (check12(input)) return action12(action_arg);
3475 if (check13(input)) return action13(action_arg);
3476 if (check14(input)) return action14(action_arg);
3477 if (check15(input)) return action15(action_arg);
3478 if (check16(input)) return action16(action_arg);
3479 if (check17(input)) return action17(action_arg);
3480 if (check18(input)) return action18(action_arg);
3481 if (check19(input)) return action19(action_arg);
3482 if (check20(input)) return action20(action_arg);
3483 if (check21(input)) return action21(action_arg);
3484 if (check22(input)) return action22(action_arg);
3485 if (check23(input)) return action23(action_arg);
3486 if (check24(input)) return action24(action_arg);
3487 if (check25(input)) return action25(action_arg);
3488 if (check26(input)) return action26(action_arg);
3489 if (check27(input)) return action27(action_arg);
3490 if (check28(input)) return action28(action_arg);
3491 if (check29(input)) return action29(action_arg);
3492 if (check30(input)) return action30(action_arg);
3493 if (check31(input)) return action31(action_arg);
3494 if (check32(input)) return action32(action_arg);
3495 if (check33(input)) return action33(action_arg);
3496 if (check34(input)) return action34(action_arg);
3497 if (check35(input)) return action35(action_arg);
3498 if (check36(input)) return action36(action_arg);
3499 if (check37(input)) return action37(action_arg);
3500 if (check38(input)) return action38(action_arg);
3501 if (check39(input)) return action39(action_arg);
3502 if (check40(input)) return action40(action_arg);
3503 if (check41(input)) return action41(action_arg);
3504 if (check42(input)) return action42(action_arg);
3505 if (check43(input)) return action43(action_arg);
3506 if (check44(input)) return action44(action_arg);
3507 if (check45(input)) return action45(action_arg);
3508 if (check46(input)) return action46(action_arg);
3509 if (check47(input)) return action47(action_arg);
3510 if (check48(input)) return action48(action_arg);
3511 if (check49(input)) return action49(action_arg);
3512 if (check50(input)) return action50(action_arg);
3513 if (check51(input)) return action51(action_arg);
3514 if (check52(input)) return action52(action_arg);
3515 if (check53(input)) return action53(action_arg);
3516 if (check54(input)) return action54(action_arg);
3517 return action_fail(action_arg);
3518 }
3519
3520 template <
3521 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3522 typename Check1, typename Check2, typename Check3, typename Check4,
3523 typename Check5, typename Check6, typename Check7, typename Check8,
3524 typename Check9, typename Check10, typename Check11, typename Check12,
3525 typename Check13, typename Check14, typename Check15, typename Check16,
3526 typename Check17, typename Check18, typename Check19, typename Check20,
3527 typename Check21, typename Check22, typename Check23, typename Check24,
3528 typename Check25, typename Check26, typename Check27, typename Check28,
3529 typename Check29, typename Check30, typename Check31, typename Check32,
3530 typename Check33, typename Check34, typename Check35, typename Check36,
3531 typename Check37, typename Check38, typename Check39, typename Check40,
3532 typename Check41, typename Check42, typename Check43, typename Check44,
3533 typename Check45, typename Check46, typename Check47, typename Check48,
3534 typename Check49, typename Check50, typename Check51, typename Check52,
3535 typename Check53, typename Check54, typename Check55, typename Action0,
3536 typename Action1, typename Action2, typename Action3, typename Action4,
3537 typename Action5, typename Action6, typename Action7, typename Action8,
3538 typename Action9, typename Action10, typename Action11, typename Action12,
3539 typename Action13, typename Action14, typename Action15, typename Action16,
3540 typename Action17, typename Action18, typename Action19, typename Action20,
3541 typename Action21, typename Action22, typename Action23, typename Action24,
3542 typename Action25, typename Action26, typename Action27, typename Action28,
3543 typename Action29, typename Action30, typename Action31, typename Action32,
3544 typename Action33, typename Action34, typename Action35, typename Action36,
3545 typename Action37, typename Action38, typename Action39, typename Action40,
3546 typename Action41, typename Action42, typename Action43, typename Action44,
3547 typename Action45, typename Action46, typename Action47, typename Action48,
3548 typename Action49, typename Action50, typename Action51, typename Action52,
3549 typename Action53, typename Action54, typename Action55>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55)3550 auto IfList(
3551 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3552 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3553 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3554 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3555 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3556 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3557 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3558 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3559 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3560 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3561 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3562 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3563 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3564 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3565 Check55 check55, Action0 action0, Action1 action1, Action2 action2,
3566 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
3567 Action7 action7, Action8 action8, Action9 action9, Action10 action10,
3568 Action11 action11, Action12 action12, Action13 action13, Action14 action14,
3569 Action15 action15, Action16 action16, Action17 action17, Action18 action18,
3570 Action19 action19, Action20 action20, Action21 action21, Action22 action22,
3571 Action23 action23, Action24 action24, Action25 action25, Action26 action26,
3572 Action27 action27, Action28 action28, Action29 action29, Action30 action30,
3573 Action31 action31, Action32 action32, Action33 action33, Action34 action34,
3574 Action35 action35, Action36 action36, Action37 action37, Action38 action38,
3575 Action39 action39, Action40 action40, Action41 action41, Action42 action42,
3576 Action43 action43, Action44 action44, Action45 action45, Action46 action46,
3577 Action47 action47, Action48 action48, Action49 action49, Action50 action50,
3578 Action51 action51, Action52 action52, Action53 action53, Action54 action54,
3579 Action55 action55) {
3580 if (check0(input)) return action0(action_arg);
3581 if (check1(input)) return action1(action_arg);
3582 if (check2(input)) return action2(action_arg);
3583 if (check3(input)) return action3(action_arg);
3584 if (check4(input)) return action4(action_arg);
3585 if (check5(input)) return action5(action_arg);
3586 if (check6(input)) return action6(action_arg);
3587 if (check7(input)) return action7(action_arg);
3588 if (check8(input)) return action8(action_arg);
3589 if (check9(input)) return action9(action_arg);
3590 if (check10(input)) return action10(action_arg);
3591 if (check11(input)) return action11(action_arg);
3592 if (check12(input)) return action12(action_arg);
3593 if (check13(input)) return action13(action_arg);
3594 if (check14(input)) return action14(action_arg);
3595 if (check15(input)) return action15(action_arg);
3596 if (check16(input)) return action16(action_arg);
3597 if (check17(input)) return action17(action_arg);
3598 if (check18(input)) return action18(action_arg);
3599 if (check19(input)) return action19(action_arg);
3600 if (check20(input)) return action20(action_arg);
3601 if (check21(input)) return action21(action_arg);
3602 if (check22(input)) return action22(action_arg);
3603 if (check23(input)) return action23(action_arg);
3604 if (check24(input)) return action24(action_arg);
3605 if (check25(input)) return action25(action_arg);
3606 if (check26(input)) return action26(action_arg);
3607 if (check27(input)) return action27(action_arg);
3608 if (check28(input)) return action28(action_arg);
3609 if (check29(input)) return action29(action_arg);
3610 if (check30(input)) return action30(action_arg);
3611 if (check31(input)) return action31(action_arg);
3612 if (check32(input)) return action32(action_arg);
3613 if (check33(input)) return action33(action_arg);
3614 if (check34(input)) return action34(action_arg);
3615 if (check35(input)) return action35(action_arg);
3616 if (check36(input)) return action36(action_arg);
3617 if (check37(input)) return action37(action_arg);
3618 if (check38(input)) return action38(action_arg);
3619 if (check39(input)) return action39(action_arg);
3620 if (check40(input)) return action40(action_arg);
3621 if (check41(input)) return action41(action_arg);
3622 if (check42(input)) return action42(action_arg);
3623 if (check43(input)) return action43(action_arg);
3624 if (check44(input)) return action44(action_arg);
3625 if (check45(input)) return action45(action_arg);
3626 if (check46(input)) return action46(action_arg);
3627 if (check47(input)) return action47(action_arg);
3628 if (check48(input)) return action48(action_arg);
3629 if (check49(input)) return action49(action_arg);
3630 if (check50(input)) return action50(action_arg);
3631 if (check51(input)) return action51(action_arg);
3632 if (check52(input)) return action52(action_arg);
3633 if (check53(input)) return action53(action_arg);
3634 if (check54(input)) return action54(action_arg);
3635 if (check55(input)) return action55(action_arg);
3636 return action_fail(action_arg);
3637 }
3638
3639 template <
3640 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3641 typename Check1, typename Check2, typename Check3, typename Check4,
3642 typename Check5, typename Check6, typename Check7, typename Check8,
3643 typename Check9, typename Check10, typename Check11, typename Check12,
3644 typename Check13, typename Check14, typename Check15, typename Check16,
3645 typename Check17, typename Check18, typename Check19, typename Check20,
3646 typename Check21, typename Check22, typename Check23, typename Check24,
3647 typename Check25, typename Check26, typename Check27, typename Check28,
3648 typename Check29, typename Check30, typename Check31, typename Check32,
3649 typename Check33, typename Check34, typename Check35, typename Check36,
3650 typename Check37, typename Check38, typename Check39, typename Check40,
3651 typename Check41, typename Check42, typename Check43, typename Check44,
3652 typename Check45, typename Check46, typename Check47, typename Check48,
3653 typename Check49, typename Check50, typename Check51, typename Check52,
3654 typename Check53, typename Check54, typename Check55, typename Check56,
3655 typename Action0, typename Action1, typename Action2, typename Action3,
3656 typename Action4, typename Action5, typename Action6, typename Action7,
3657 typename Action8, typename Action9, typename Action10, typename Action11,
3658 typename Action12, typename Action13, typename Action14, typename Action15,
3659 typename Action16, typename Action17, typename Action18, typename Action19,
3660 typename Action20, typename Action21, typename Action22, typename Action23,
3661 typename Action24, typename Action25, typename Action26, typename Action27,
3662 typename Action28, typename Action29, typename Action30, typename Action31,
3663 typename Action32, typename Action33, typename Action34, typename Action35,
3664 typename Action36, typename Action37, typename Action38, typename Action39,
3665 typename Action40, typename Action41, typename Action42, typename Action43,
3666 typename Action44, typename Action45, typename Action46, typename Action47,
3667 typename Action48, typename Action49, typename Action50, typename Action51,
3668 typename Action52, typename Action53, typename Action54, typename Action55,
3669 typename Action56>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56)3670 auto IfList(
3671 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3672 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3673 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3674 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3675 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3676 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3677 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3678 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3679 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3680 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3681 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3682 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3683 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3684 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3685 Check55 check55, Check56 check56, Action0 action0, Action1 action1,
3686 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
3687 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
3688 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
3689 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
3690 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
3691 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
3692 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
3693 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
3694 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
3695 Action38 action38, Action39 action39, Action40 action40, Action41 action41,
3696 Action42 action42, Action43 action43, Action44 action44, Action45 action45,
3697 Action46 action46, Action47 action47, Action48 action48, Action49 action49,
3698 Action50 action50, Action51 action51, Action52 action52, Action53 action53,
3699 Action54 action54, Action55 action55, Action56 action56) {
3700 if (check0(input)) return action0(action_arg);
3701 if (check1(input)) return action1(action_arg);
3702 if (check2(input)) return action2(action_arg);
3703 if (check3(input)) return action3(action_arg);
3704 if (check4(input)) return action4(action_arg);
3705 if (check5(input)) return action5(action_arg);
3706 if (check6(input)) return action6(action_arg);
3707 if (check7(input)) return action7(action_arg);
3708 if (check8(input)) return action8(action_arg);
3709 if (check9(input)) return action9(action_arg);
3710 if (check10(input)) return action10(action_arg);
3711 if (check11(input)) return action11(action_arg);
3712 if (check12(input)) return action12(action_arg);
3713 if (check13(input)) return action13(action_arg);
3714 if (check14(input)) return action14(action_arg);
3715 if (check15(input)) return action15(action_arg);
3716 if (check16(input)) return action16(action_arg);
3717 if (check17(input)) return action17(action_arg);
3718 if (check18(input)) return action18(action_arg);
3719 if (check19(input)) return action19(action_arg);
3720 if (check20(input)) return action20(action_arg);
3721 if (check21(input)) return action21(action_arg);
3722 if (check22(input)) return action22(action_arg);
3723 if (check23(input)) return action23(action_arg);
3724 if (check24(input)) return action24(action_arg);
3725 if (check25(input)) return action25(action_arg);
3726 if (check26(input)) return action26(action_arg);
3727 if (check27(input)) return action27(action_arg);
3728 if (check28(input)) return action28(action_arg);
3729 if (check29(input)) return action29(action_arg);
3730 if (check30(input)) return action30(action_arg);
3731 if (check31(input)) return action31(action_arg);
3732 if (check32(input)) return action32(action_arg);
3733 if (check33(input)) return action33(action_arg);
3734 if (check34(input)) return action34(action_arg);
3735 if (check35(input)) return action35(action_arg);
3736 if (check36(input)) return action36(action_arg);
3737 if (check37(input)) return action37(action_arg);
3738 if (check38(input)) return action38(action_arg);
3739 if (check39(input)) return action39(action_arg);
3740 if (check40(input)) return action40(action_arg);
3741 if (check41(input)) return action41(action_arg);
3742 if (check42(input)) return action42(action_arg);
3743 if (check43(input)) return action43(action_arg);
3744 if (check44(input)) return action44(action_arg);
3745 if (check45(input)) return action45(action_arg);
3746 if (check46(input)) return action46(action_arg);
3747 if (check47(input)) return action47(action_arg);
3748 if (check48(input)) return action48(action_arg);
3749 if (check49(input)) return action49(action_arg);
3750 if (check50(input)) return action50(action_arg);
3751 if (check51(input)) return action51(action_arg);
3752 if (check52(input)) return action52(action_arg);
3753 if (check53(input)) return action53(action_arg);
3754 if (check54(input)) return action54(action_arg);
3755 if (check55(input)) return action55(action_arg);
3756 if (check56(input)) return action56(action_arg);
3757 return action_fail(action_arg);
3758 }
3759
3760 template <
3761 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3762 typename Check1, typename Check2, typename Check3, typename Check4,
3763 typename Check5, typename Check6, typename Check7, typename Check8,
3764 typename Check9, typename Check10, typename Check11, typename Check12,
3765 typename Check13, typename Check14, typename Check15, typename Check16,
3766 typename Check17, typename Check18, typename Check19, typename Check20,
3767 typename Check21, typename Check22, typename Check23, typename Check24,
3768 typename Check25, typename Check26, typename Check27, typename Check28,
3769 typename Check29, typename Check30, typename Check31, typename Check32,
3770 typename Check33, typename Check34, typename Check35, typename Check36,
3771 typename Check37, typename Check38, typename Check39, typename Check40,
3772 typename Check41, typename Check42, typename Check43, typename Check44,
3773 typename Check45, typename Check46, typename Check47, typename Check48,
3774 typename Check49, typename Check50, typename Check51, typename Check52,
3775 typename Check53, typename Check54, typename Check55, typename Check56,
3776 typename Check57, typename Action0, typename Action1, typename Action2,
3777 typename Action3, typename Action4, typename Action5, typename Action6,
3778 typename Action7, typename Action8, typename Action9, typename Action10,
3779 typename Action11, typename Action12, typename Action13, typename Action14,
3780 typename Action15, typename Action16, typename Action17, typename Action18,
3781 typename Action19, typename Action20, typename Action21, typename Action22,
3782 typename Action23, typename Action24, typename Action25, typename Action26,
3783 typename Action27, typename Action28, typename Action29, typename Action30,
3784 typename Action31, typename Action32, typename Action33, typename Action34,
3785 typename Action35, typename Action36, typename Action37, typename Action38,
3786 typename Action39, typename Action40, typename Action41, typename Action42,
3787 typename Action43, typename Action44, typename Action45, typename Action46,
3788 typename Action47, typename Action48, typename Action49, typename Action50,
3789 typename Action51, typename Action52, typename Action53, typename Action54,
3790 typename Action55, typename Action56, typename Action57>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57)3791 auto IfList(
3792 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3793 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3794 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3795 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3796 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3797 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3798 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3799 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3800 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3801 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3802 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3803 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3804 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3805 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3806 Check55 check55, Check56 check56, Check57 check57, Action0 action0,
3807 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
3808 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
3809 Action9 action9, Action10 action10, Action11 action11, Action12 action12,
3810 Action13 action13, Action14 action14, Action15 action15, Action16 action16,
3811 Action17 action17, Action18 action18, Action19 action19, Action20 action20,
3812 Action21 action21, Action22 action22, Action23 action23, Action24 action24,
3813 Action25 action25, Action26 action26, Action27 action27, Action28 action28,
3814 Action29 action29, Action30 action30, Action31 action31, Action32 action32,
3815 Action33 action33, Action34 action34, Action35 action35, Action36 action36,
3816 Action37 action37, Action38 action38, Action39 action39, Action40 action40,
3817 Action41 action41, Action42 action42, Action43 action43, Action44 action44,
3818 Action45 action45, Action46 action46, Action47 action47, Action48 action48,
3819 Action49 action49, Action50 action50, Action51 action51, Action52 action52,
3820 Action53 action53, Action54 action54, Action55 action55, Action56 action56,
3821 Action57 action57) {
3822 if (check0(input)) return action0(action_arg);
3823 if (check1(input)) return action1(action_arg);
3824 if (check2(input)) return action2(action_arg);
3825 if (check3(input)) return action3(action_arg);
3826 if (check4(input)) return action4(action_arg);
3827 if (check5(input)) return action5(action_arg);
3828 if (check6(input)) return action6(action_arg);
3829 if (check7(input)) return action7(action_arg);
3830 if (check8(input)) return action8(action_arg);
3831 if (check9(input)) return action9(action_arg);
3832 if (check10(input)) return action10(action_arg);
3833 if (check11(input)) return action11(action_arg);
3834 if (check12(input)) return action12(action_arg);
3835 if (check13(input)) return action13(action_arg);
3836 if (check14(input)) return action14(action_arg);
3837 if (check15(input)) return action15(action_arg);
3838 if (check16(input)) return action16(action_arg);
3839 if (check17(input)) return action17(action_arg);
3840 if (check18(input)) return action18(action_arg);
3841 if (check19(input)) return action19(action_arg);
3842 if (check20(input)) return action20(action_arg);
3843 if (check21(input)) return action21(action_arg);
3844 if (check22(input)) return action22(action_arg);
3845 if (check23(input)) return action23(action_arg);
3846 if (check24(input)) return action24(action_arg);
3847 if (check25(input)) return action25(action_arg);
3848 if (check26(input)) return action26(action_arg);
3849 if (check27(input)) return action27(action_arg);
3850 if (check28(input)) return action28(action_arg);
3851 if (check29(input)) return action29(action_arg);
3852 if (check30(input)) return action30(action_arg);
3853 if (check31(input)) return action31(action_arg);
3854 if (check32(input)) return action32(action_arg);
3855 if (check33(input)) return action33(action_arg);
3856 if (check34(input)) return action34(action_arg);
3857 if (check35(input)) return action35(action_arg);
3858 if (check36(input)) return action36(action_arg);
3859 if (check37(input)) return action37(action_arg);
3860 if (check38(input)) return action38(action_arg);
3861 if (check39(input)) return action39(action_arg);
3862 if (check40(input)) return action40(action_arg);
3863 if (check41(input)) return action41(action_arg);
3864 if (check42(input)) return action42(action_arg);
3865 if (check43(input)) return action43(action_arg);
3866 if (check44(input)) return action44(action_arg);
3867 if (check45(input)) return action45(action_arg);
3868 if (check46(input)) return action46(action_arg);
3869 if (check47(input)) return action47(action_arg);
3870 if (check48(input)) return action48(action_arg);
3871 if (check49(input)) return action49(action_arg);
3872 if (check50(input)) return action50(action_arg);
3873 if (check51(input)) return action51(action_arg);
3874 if (check52(input)) return action52(action_arg);
3875 if (check53(input)) return action53(action_arg);
3876 if (check54(input)) return action54(action_arg);
3877 if (check55(input)) return action55(action_arg);
3878 if (check56(input)) return action56(action_arg);
3879 if (check57(input)) return action57(action_arg);
3880 return action_fail(action_arg);
3881 }
3882
3883 template <
3884 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
3885 typename Check1, typename Check2, typename Check3, typename Check4,
3886 typename Check5, typename Check6, typename Check7, typename Check8,
3887 typename Check9, typename Check10, typename Check11, typename Check12,
3888 typename Check13, typename Check14, typename Check15, typename Check16,
3889 typename Check17, typename Check18, typename Check19, typename Check20,
3890 typename Check21, typename Check22, typename Check23, typename Check24,
3891 typename Check25, typename Check26, typename Check27, typename Check28,
3892 typename Check29, typename Check30, typename Check31, typename Check32,
3893 typename Check33, typename Check34, typename Check35, typename Check36,
3894 typename Check37, typename Check38, typename Check39, typename Check40,
3895 typename Check41, typename Check42, typename Check43, typename Check44,
3896 typename Check45, typename Check46, typename Check47, typename Check48,
3897 typename Check49, typename Check50, typename Check51, typename Check52,
3898 typename Check53, typename Check54, typename Check55, typename Check56,
3899 typename Check57, typename Check58, typename Action0, typename Action1,
3900 typename Action2, typename Action3, typename Action4, typename Action5,
3901 typename Action6, typename Action7, typename Action8, typename Action9,
3902 typename Action10, typename Action11, typename Action12, typename Action13,
3903 typename Action14, typename Action15, typename Action16, typename Action17,
3904 typename Action18, typename Action19, typename Action20, typename Action21,
3905 typename Action22, typename Action23, typename Action24, typename Action25,
3906 typename Action26, typename Action27, typename Action28, typename Action29,
3907 typename Action30, typename Action31, typename Action32, typename Action33,
3908 typename Action34, typename Action35, typename Action36, typename Action37,
3909 typename Action38, typename Action39, typename Action40, typename Action41,
3910 typename Action42, typename Action43, typename Action44, typename Action45,
3911 typename Action46, typename Action47, typename Action48, typename Action49,
3912 typename Action50, typename Action51, typename Action52, typename Action53,
3913 typename Action54, typename Action55, typename Action56, typename Action57,
3914 typename Action58>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Check58 check58,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57,Action58 action58)3915 auto IfList(
3916 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
3917 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
3918 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
3919 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
3920 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
3921 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
3922 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
3923 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
3924 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
3925 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
3926 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
3927 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
3928 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
3929 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
3930 Check55 check55, Check56 check56, Check57 check57, Check58 check58,
3931 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
3932 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
3933 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
3934 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
3935 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
3936 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
3937 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
3938 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
3939 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
3940 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
3941 Action40 action40, Action41 action41, Action42 action42, Action43 action43,
3942 Action44 action44, Action45 action45, Action46 action46, Action47 action47,
3943 Action48 action48, Action49 action49, Action50 action50, Action51 action51,
3944 Action52 action52, Action53 action53, Action54 action54, Action55 action55,
3945 Action56 action56, Action57 action57, Action58 action58) {
3946 if (check0(input)) return action0(action_arg);
3947 if (check1(input)) return action1(action_arg);
3948 if (check2(input)) return action2(action_arg);
3949 if (check3(input)) return action3(action_arg);
3950 if (check4(input)) return action4(action_arg);
3951 if (check5(input)) return action5(action_arg);
3952 if (check6(input)) return action6(action_arg);
3953 if (check7(input)) return action7(action_arg);
3954 if (check8(input)) return action8(action_arg);
3955 if (check9(input)) return action9(action_arg);
3956 if (check10(input)) return action10(action_arg);
3957 if (check11(input)) return action11(action_arg);
3958 if (check12(input)) return action12(action_arg);
3959 if (check13(input)) return action13(action_arg);
3960 if (check14(input)) return action14(action_arg);
3961 if (check15(input)) return action15(action_arg);
3962 if (check16(input)) return action16(action_arg);
3963 if (check17(input)) return action17(action_arg);
3964 if (check18(input)) return action18(action_arg);
3965 if (check19(input)) return action19(action_arg);
3966 if (check20(input)) return action20(action_arg);
3967 if (check21(input)) return action21(action_arg);
3968 if (check22(input)) return action22(action_arg);
3969 if (check23(input)) return action23(action_arg);
3970 if (check24(input)) return action24(action_arg);
3971 if (check25(input)) return action25(action_arg);
3972 if (check26(input)) return action26(action_arg);
3973 if (check27(input)) return action27(action_arg);
3974 if (check28(input)) return action28(action_arg);
3975 if (check29(input)) return action29(action_arg);
3976 if (check30(input)) return action30(action_arg);
3977 if (check31(input)) return action31(action_arg);
3978 if (check32(input)) return action32(action_arg);
3979 if (check33(input)) return action33(action_arg);
3980 if (check34(input)) return action34(action_arg);
3981 if (check35(input)) return action35(action_arg);
3982 if (check36(input)) return action36(action_arg);
3983 if (check37(input)) return action37(action_arg);
3984 if (check38(input)) return action38(action_arg);
3985 if (check39(input)) return action39(action_arg);
3986 if (check40(input)) return action40(action_arg);
3987 if (check41(input)) return action41(action_arg);
3988 if (check42(input)) return action42(action_arg);
3989 if (check43(input)) return action43(action_arg);
3990 if (check44(input)) return action44(action_arg);
3991 if (check45(input)) return action45(action_arg);
3992 if (check46(input)) return action46(action_arg);
3993 if (check47(input)) return action47(action_arg);
3994 if (check48(input)) return action48(action_arg);
3995 if (check49(input)) return action49(action_arg);
3996 if (check50(input)) return action50(action_arg);
3997 if (check51(input)) return action51(action_arg);
3998 if (check52(input)) return action52(action_arg);
3999 if (check53(input)) return action53(action_arg);
4000 if (check54(input)) return action54(action_arg);
4001 if (check55(input)) return action55(action_arg);
4002 if (check56(input)) return action56(action_arg);
4003 if (check57(input)) return action57(action_arg);
4004 if (check58(input)) return action58(action_arg);
4005 return action_fail(action_arg);
4006 }
4007
4008 template <
4009 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4010 typename Check1, typename Check2, typename Check3, typename Check4,
4011 typename Check5, typename Check6, typename Check7, typename Check8,
4012 typename Check9, typename Check10, typename Check11, typename Check12,
4013 typename Check13, typename Check14, typename Check15, typename Check16,
4014 typename Check17, typename Check18, typename Check19, typename Check20,
4015 typename Check21, typename Check22, typename Check23, typename Check24,
4016 typename Check25, typename Check26, typename Check27, typename Check28,
4017 typename Check29, typename Check30, typename Check31, typename Check32,
4018 typename Check33, typename Check34, typename Check35, typename Check36,
4019 typename Check37, typename Check38, typename Check39, typename Check40,
4020 typename Check41, typename Check42, typename Check43, typename Check44,
4021 typename Check45, typename Check46, typename Check47, typename Check48,
4022 typename Check49, typename Check50, typename Check51, typename Check52,
4023 typename Check53, typename Check54, typename Check55, typename Check56,
4024 typename Check57, typename Check58, typename Check59, typename Action0,
4025 typename Action1, typename Action2, typename Action3, typename Action4,
4026 typename Action5, typename Action6, typename Action7, typename Action8,
4027 typename Action9, typename Action10, typename Action11, typename Action12,
4028 typename Action13, typename Action14, typename Action15, typename Action16,
4029 typename Action17, typename Action18, typename Action19, typename Action20,
4030 typename Action21, typename Action22, typename Action23, typename Action24,
4031 typename Action25, typename Action26, typename Action27, typename Action28,
4032 typename Action29, typename Action30, typename Action31, typename Action32,
4033 typename Action33, typename Action34, typename Action35, typename Action36,
4034 typename Action37, typename Action38, typename Action39, typename Action40,
4035 typename Action41, typename Action42, typename Action43, typename Action44,
4036 typename Action45, typename Action46, typename Action47, typename Action48,
4037 typename Action49, typename Action50, typename Action51, typename Action52,
4038 typename Action53, typename Action54, typename Action55, typename Action56,
4039 typename Action57, typename Action58, typename Action59>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Check58 check58,Check59 check59,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57,Action58 action58,Action59 action59)4040 auto IfList(
4041 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4042 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4043 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4044 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4045 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4046 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4047 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4048 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4049 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4050 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4051 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4052 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4053 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4054 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4055 Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4056 Check59 check59, Action0 action0, Action1 action1, Action2 action2,
4057 Action3 action3, Action4 action4, Action5 action5, Action6 action6,
4058 Action7 action7, Action8 action8, Action9 action9, Action10 action10,
4059 Action11 action11, Action12 action12, Action13 action13, Action14 action14,
4060 Action15 action15, Action16 action16, Action17 action17, Action18 action18,
4061 Action19 action19, Action20 action20, Action21 action21, Action22 action22,
4062 Action23 action23, Action24 action24, Action25 action25, Action26 action26,
4063 Action27 action27, Action28 action28, Action29 action29, Action30 action30,
4064 Action31 action31, Action32 action32, Action33 action33, Action34 action34,
4065 Action35 action35, Action36 action36, Action37 action37, Action38 action38,
4066 Action39 action39, Action40 action40, Action41 action41, Action42 action42,
4067 Action43 action43, Action44 action44, Action45 action45, Action46 action46,
4068 Action47 action47, Action48 action48, Action49 action49, Action50 action50,
4069 Action51 action51, Action52 action52, Action53 action53, Action54 action54,
4070 Action55 action55, Action56 action56, Action57 action57, Action58 action58,
4071 Action59 action59) {
4072 if (check0(input)) return action0(action_arg);
4073 if (check1(input)) return action1(action_arg);
4074 if (check2(input)) return action2(action_arg);
4075 if (check3(input)) return action3(action_arg);
4076 if (check4(input)) return action4(action_arg);
4077 if (check5(input)) return action5(action_arg);
4078 if (check6(input)) return action6(action_arg);
4079 if (check7(input)) return action7(action_arg);
4080 if (check8(input)) return action8(action_arg);
4081 if (check9(input)) return action9(action_arg);
4082 if (check10(input)) return action10(action_arg);
4083 if (check11(input)) return action11(action_arg);
4084 if (check12(input)) return action12(action_arg);
4085 if (check13(input)) return action13(action_arg);
4086 if (check14(input)) return action14(action_arg);
4087 if (check15(input)) return action15(action_arg);
4088 if (check16(input)) return action16(action_arg);
4089 if (check17(input)) return action17(action_arg);
4090 if (check18(input)) return action18(action_arg);
4091 if (check19(input)) return action19(action_arg);
4092 if (check20(input)) return action20(action_arg);
4093 if (check21(input)) return action21(action_arg);
4094 if (check22(input)) return action22(action_arg);
4095 if (check23(input)) return action23(action_arg);
4096 if (check24(input)) return action24(action_arg);
4097 if (check25(input)) return action25(action_arg);
4098 if (check26(input)) return action26(action_arg);
4099 if (check27(input)) return action27(action_arg);
4100 if (check28(input)) return action28(action_arg);
4101 if (check29(input)) return action29(action_arg);
4102 if (check30(input)) return action30(action_arg);
4103 if (check31(input)) return action31(action_arg);
4104 if (check32(input)) return action32(action_arg);
4105 if (check33(input)) return action33(action_arg);
4106 if (check34(input)) return action34(action_arg);
4107 if (check35(input)) return action35(action_arg);
4108 if (check36(input)) return action36(action_arg);
4109 if (check37(input)) return action37(action_arg);
4110 if (check38(input)) return action38(action_arg);
4111 if (check39(input)) return action39(action_arg);
4112 if (check40(input)) return action40(action_arg);
4113 if (check41(input)) return action41(action_arg);
4114 if (check42(input)) return action42(action_arg);
4115 if (check43(input)) return action43(action_arg);
4116 if (check44(input)) return action44(action_arg);
4117 if (check45(input)) return action45(action_arg);
4118 if (check46(input)) return action46(action_arg);
4119 if (check47(input)) return action47(action_arg);
4120 if (check48(input)) return action48(action_arg);
4121 if (check49(input)) return action49(action_arg);
4122 if (check50(input)) return action50(action_arg);
4123 if (check51(input)) return action51(action_arg);
4124 if (check52(input)) return action52(action_arg);
4125 if (check53(input)) return action53(action_arg);
4126 if (check54(input)) return action54(action_arg);
4127 if (check55(input)) return action55(action_arg);
4128 if (check56(input)) return action56(action_arg);
4129 if (check57(input)) return action57(action_arg);
4130 if (check58(input)) return action58(action_arg);
4131 if (check59(input)) return action59(action_arg);
4132 return action_fail(action_arg);
4133 }
4134
4135 template <
4136 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4137 typename Check1, typename Check2, typename Check3, typename Check4,
4138 typename Check5, typename Check6, typename Check7, typename Check8,
4139 typename Check9, typename Check10, typename Check11, typename Check12,
4140 typename Check13, typename Check14, typename Check15, typename Check16,
4141 typename Check17, typename Check18, typename Check19, typename Check20,
4142 typename Check21, typename Check22, typename Check23, typename Check24,
4143 typename Check25, typename Check26, typename Check27, typename Check28,
4144 typename Check29, typename Check30, typename Check31, typename Check32,
4145 typename Check33, typename Check34, typename Check35, typename Check36,
4146 typename Check37, typename Check38, typename Check39, typename Check40,
4147 typename Check41, typename Check42, typename Check43, typename Check44,
4148 typename Check45, typename Check46, typename Check47, typename Check48,
4149 typename Check49, typename Check50, typename Check51, typename Check52,
4150 typename Check53, typename Check54, typename Check55, typename Check56,
4151 typename Check57, typename Check58, typename Check59, typename Check60,
4152 typename Action0, typename Action1, typename Action2, typename Action3,
4153 typename Action4, typename Action5, typename Action6, typename Action7,
4154 typename Action8, typename Action9, typename Action10, typename Action11,
4155 typename Action12, typename Action13, typename Action14, typename Action15,
4156 typename Action16, typename Action17, typename Action18, typename Action19,
4157 typename Action20, typename Action21, typename Action22, typename Action23,
4158 typename Action24, typename Action25, typename Action26, typename Action27,
4159 typename Action28, typename Action29, typename Action30, typename Action31,
4160 typename Action32, typename Action33, typename Action34, typename Action35,
4161 typename Action36, typename Action37, typename Action38, typename Action39,
4162 typename Action40, typename Action41, typename Action42, typename Action43,
4163 typename Action44, typename Action45, typename Action46, typename Action47,
4164 typename Action48, typename Action49, typename Action50, typename Action51,
4165 typename Action52, typename Action53, typename Action54, typename Action55,
4166 typename Action56, typename Action57, typename Action58, typename Action59,
4167 typename Action60>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Check58 check58,Check59 check59,Check60 check60,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57,Action58 action58,Action59 action59,Action60 action60)4168 auto IfList(
4169 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4170 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4171 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4172 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4173 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4174 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4175 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4176 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4177 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4178 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4179 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4180 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4181 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4182 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4183 Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4184 Check59 check59, Check60 check60, Action0 action0, Action1 action1,
4185 Action2 action2, Action3 action3, Action4 action4, Action5 action5,
4186 Action6 action6, Action7 action7, Action8 action8, Action9 action9,
4187 Action10 action10, Action11 action11, Action12 action12, Action13 action13,
4188 Action14 action14, Action15 action15, Action16 action16, Action17 action17,
4189 Action18 action18, Action19 action19, Action20 action20, Action21 action21,
4190 Action22 action22, Action23 action23, Action24 action24, Action25 action25,
4191 Action26 action26, Action27 action27, Action28 action28, Action29 action29,
4192 Action30 action30, Action31 action31, Action32 action32, Action33 action33,
4193 Action34 action34, Action35 action35, Action36 action36, Action37 action37,
4194 Action38 action38, Action39 action39, Action40 action40, Action41 action41,
4195 Action42 action42, Action43 action43, Action44 action44, Action45 action45,
4196 Action46 action46, Action47 action47, Action48 action48, Action49 action49,
4197 Action50 action50, Action51 action51, Action52 action52, Action53 action53,
4198 Action54 action54, Action55 action55, Action56 action56, Action57 action57,
4199 Action58 action58, Action59 action59, Action60 action60) {
4200 if (check0(input)) return action0(action_arg);
4201 if (check1(input)) return action1(action_arg);
4202 if (check2(input)) return action2(action_arg);
4203 if (check3(input)) return action3(action_arg);
4204 if (check4(input)) return action4(action_arg);
4205 if (check5(input)) return action5(action_arg);
4206 if (check6(input)) return action6(action_arg);
4207 if (check7(input)) return action7(action_arg);
4208 if (check8(input)) return action8(action_arg);
4209 if (check9(input)) return action9(action_arg);
4210 if (check10(input)) return action10(action_arg);
4211 if (check11(input)) return action11(action_arg);
4212 if (check12(input)) return action12(action_arg);
4213 if (check13(input)) return action13(action_arg);
4214 if (check14(input)) return action14(action_arg);
4215 if (check15(input)) return action15(action_arg);
4216 if (check16(input)) return action16(action_arg);
4217 if (check17(input)) return action17(action_arg);
4218 if (check18(input)) return action18(action_arg);
4219 if (check19(input)) return action19(action_arg);
4220 if (check20(input)) return action20(action_arg);
4221 if (check21(input)) return action21(action_arg);
4222 if (check22(input)) return action22(action_arg);
4223 if (check23(input)) return action23(action_arg);
4224 if (check24(input)) return action24(action_arg);
4225 if (check25(input)) return action25(action_arg);
4226 if (check26(input)) return action26(action_arg);
4227 if (check27(input)) return action27(action_arg);
4228 if (check28(input)) return action28(action_arg);
4229 if (check29(input)) return action29(action_arg);
4230 if (check30(input)) return action30(action_arg);
4231 if (check31(input)) return action31(action_arg);
4232 if (check32(input)) return action32(action_arg);
4233 if (check33(input)) return action33(action_arg);
4234 if (check34(input)) return action34(action_arg);
4235 if (check35(input)) return action35(action_arg);
4236 if (check36(input)) return action36(action_arg);
4237 if (check37(input)) return action37(action_arg);
4238 if (check38(input)) return action38(action_arg);
4239 if (check39(input)) return action39(action_arg);
4240 if (check40(input)) return action40(action_arg);
4241 if (check41(input)) return action41(action_arg);
4242 if (check42(input)) return action42(action_arg);
4243 if (check43(input)) return action43(action_arg);
4244 if (check44(input)) return action44(action_arg);
4245 if (check45(input)) return action45(action_arg);
4246 if (check46(input)) return action46(action_arg);
4247 if (check47(input)) return action47(action_arg);
4248 if (check48(input)) return action48(action_arg);
4249 if (check49(input)) return action49(action_arg);
4250 if (check50(input)) return action50(action_arg);
4251 if (check51(input)) return action51(action_arg);
4252 if (check52(input)) return action52(action_arg);
4253 if (check53(input)) return action53(action_arg);
4254 if (check54(input)) return action54(action_arg);
4255 if (check55(input)) return action55(action_arg);
4256 if (check56(input)) return action56(action_arg);
4257 if (check57(input)) return action57(action_arg);
4258 if (check58(input)) return action58(action_arg);
4259 if (check59(input)) return action59(action_arg);
4260 if (check60(input)) return action60(action_arg);
4261 return action_fail(action_arg);
4262 }
4263
4264 template <
4265 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4266 typename Check1, typename Check2, typename Check3, typename Check4,
4267 typename Check5, typename Check6, typename Check7, typename Check8,
4268 typename Check9, typename Check10, typename Check11, typename Check12,
4269 typename Check13, typename Check14, typename Check15, typename Check16,
4270 typename Check17, typename Check18, typename Check19, typename Check20,
4271 typename Check21, typename Check22, typename Check23, typename Check24,
4272 typename Check25, typename Check26, typename Check27, typename Check28,
4273 typename Check29, typename Check30, typename Check31, typename Check32,
4274 typename Check33, typename Check34, typename Check35, typename Check36,
4275 typename Check37, typename Check38, typename Check39, typename Check40,
4276 typename Check41, typename Check42, typename Check43, typename Check44,
4277 typename Check45, typename Check46, typename Check47, typename Check48,
4278 typename Check49, typename Check50, typename Check51, typename Check52,
4279 typename Check53, typename Check54, typename Check55, typename Check56,
4280 typename Check57, typename Check58, typename Check59, typename Check60,
4281 typename Check61, typename Action0, typename Action1, typename Action2,
4282 typename Action3, typename Action4, typename Action5, typename Action6,
4283 typename Action7, typename Action8, typename Action9, typename Action10,
4284 typename Action11, typename Action12, typename Action13, typename Action14,
4285 typename Action15, typename Action16, typename Action17, typename Action18,
4286 typename Action19, typename Action20, typename Action21, typename Action22,
4287 typename Action23, typename Action24, typename Action25, typename Action26,
4288 typename Action27, typename Action28, typename Action29, typename Action30,
4289 typename Action31, typename Action32, typename Action33, typename Action34,
4290 typename Action35, typename Action36, typename Action37, typename Action38,
4291 typename Action39, typename Action40, typename Action41, typename Action42,
4292 typename Action43, typename Action44, typename Action45, typename Action46,
4293 typename Action47, typename Action48, typename Action49, typename Action50,
4294 typename Action51, typename Action52, typename Action53, typename Action54,
4295 typename Action55, typename Action56, typename Action57, typename Action58,
4296 typename Action59, typename Action60, typename Action61>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Check58 check58,Check59 check59,Check60 check60,Check61 check61,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57,Action58 action58,Action59 action59,Action60 action60,Action61 action61)4297 auto IfList(
4298 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4299 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4300 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4301 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4302 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4303 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4304 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4305 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4306 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4307 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4308 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4309 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4310 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4311 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4312 Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4313 Check59 check59, Check60 check60, Check61 check61, Action0 action0,
4314 Action1 action1, Action2 action2, Action3 action3, Action4 action4,
4315 Action5 action5, Action6 action6, Action7 action7, Action8 action8,
4316 Action9 action9, Action10 action10, Action11 action11, Action12 action12,
4317 Action13 action13, Action14 action14, Action15 action15, Action16 action16,
4318 Action17 action17, Action18 action18, Action19 action19, Action20 action20,
4319 Action21 action21, Action22 action22, Action23 action23, Action24 action24,
4320 Action25 action25, Action26 action26, Action27 action27, Action28 action28,
4321 Action29 action29, Action30 action30, Action31 action31, Action32 action32,
4322 Action33 action33, Action34 action34, Action35 action35, Action36 action36,
4323 Action37 action37, Action38 action38, Action39 action39, Action40 action40,
4324 Action41 action41, Action42 action42, Action43 action43, Action44 action44,
4325 Action45 action45, Action46 action46, Action47 action47, Action48 action48,
4326 Action49 action49, Action50 action50, Action51 action51, Action52 action52,
4327 Action53 action53, Action54 action54, Action55 action55, Action56 action56,
4328 Action57 action57, Action58 action58, Action59 action59, Action60 action60,
4329 Action61 action61) {
4330 if (check0(input)) return action0(action_arg);
4331 if (check1(input)) return action1(action_arg);
4332 if (check2(input)) return action2(action_arg);
4333 if (check3(input)) return action3(action_arg);
4334 if (check4(input)) return action4(action_arg);
4335 if (check5(input)) return action5(action_arg);
4336 if (check6(input)) return action6(action_arg);
4337 if (check7(input)) return action7(action_arg);
4338 if (check8(input)) return action8(action_arg);
4339 if (check9(input)) return action9(action_arg);
4340 if (check10(input)) return action10(action_arg);
4341 if (check11(input)) return action11(action_arg);
4342 if (check12(input)) return action12(action_arg);
4343 if (check13(input)) return action13(action_arg);
4344 if (check14(input)) return action14(action_arg);
4345 if (check15(input)) return action15(action_arg);
4346 if (check16(input)) return action16(action_arg);
4347 if (check17(input)) return action17(action_arg);
4348 if (check18(input)) return action18(action_arg);
4349 if (check19(input)) return action19(action_arg);
4350 if (check20(input)) return action20(action_arg);
4351 if (check21(input)) return action21(action_arg);
4352 if (check22(input)) return action22(action_arg);
4353 if (check23(input)) return action23(action_arg);
4354 if (check24(input)) return action24(action_arg);
4355 if (check25(input)) return action25(action_arg);
4356 if (check26(input)) return action26(action_arg);
4357 if (check27(input)) return action27(action_arg);
4358 if (check28(input)) return action28(action_arg);
4359 if (check29(input)) return action29(action_arg);
4360 if (check30(input)) return action30(action_arg);
4361 if (check31(input)) return action31(action_arg);
4362 if (check32(input)) return action32(action_arg);
4363 if (check33(input)) return action33(action_arg);
4364 if (check34(input)) return action34(action_arg);
4365 if (check35(input)) return action35(action_arg);
4366 if (check36(input)) return action36(action_arg);
4367 if (check37(input)) return action37(action_arg);
4368 if (check38(input)) return action38(action_arg);
4369 if (check39(input)) return action39(action_arg);
4370 if (check40(input)) return action40(action_arg);
4371 if (check41(input)) return action41(action_arg);
4372 if (check42(input)) return action42(action_arg);
4373 if (check43(input)) return action43(action_arg);
4374 if (check44(input)) return action44(action_arg);
4375 if (check45(input)) return action45(action_arg);
4376 if (check46(input)) return action46(action_arg);
4377 if (check47(input)) return action47(action_arg);
4378 if (check48(input)) return action48(action_arg);
4379 if (check49(input)) return action49(action_arg);
4380 if (check50(input)) return action50(action_arg);
4381 if (check51(input)) return action51(action_arg);
4382 if (check52(input)) return action52(action_arg);
4383 if (check53(input)) return action53(action_arg);
4384 if (check54(input)) return action54(action_arg);
4385 if (check55(input)) return action55(action_arg);
4386 if (check56(input)) return action56(action_arg);
4387 if (check57(input)) return action57(action_arg);
4388 if (check58(input)) return action58(action_arg);
4389 if (check59(input)) return action59(action_arg);
4390 if (check60(input)) return action60(action_arg);
4391 if (check61(input)) return action61(action_arg);
4392 return action_fail(action_arg);
4393 }
4394
4395 template <
4396 typename CheckArg, typename ActionArg, typename ActionFail, typename Check0,
4397 typename Check1, typename Check2, typename Check3, typename Check4,
4398 typename Check5, typename Check6, typename Check7, typename Check8,
4399 typename Check9, typename Check10, typename Check11, typename Check12,
4400 typename Check13, typename Check14, typename Check15, typename Check16,
4401 typename Check17, typename Check18, typename Check19, typename Check20,
4402 typename Check21, typename Check22, typename Check23, typename Check24,
4403 typename Check25, typename Check26, typename Check27, typename Check28,
4404 typename Check29, typename Check30, typename Check31, typename Check32,
4405 typename Check33, typename Check34, typename Check35, typename Check36,
4406 typename Check37, typename Check38, typename Check39, typename Check40,
4407 typename Check41, typename Check42, typename Check43, typename Check44,
4408 typename Check45, typename Check46, typename Check47, typename Check48,
4409 typename Check49, typename Check50, typename Check51, typename Check52,
4410 typename Check53, typename Check54, typename Check55, typename Check56,
4411 typename Check57, typename Check58, typename Check59, typename Check60,
4412 typename Check61, typename Check62, typename Action0, typename Action1,
4413 typename Action2, typename Action3, typename Action4, typename Action5,
4414 typename Action6, typename Action7, typename Action8, typename Action9,
4415 typename Action10, typename Action11, typename Action12, typename Action13,
4416 typename Action14, typename Action15, typename Action16, typename Action17,
4417 typename Action18, typename Action19, typename Action20, typename Action21,
4418 typename Action22, typename Action23, typename Action24, typename Action25,
4419 typename Action26, typename Action27, typename Action28, typename Action29,
4420 typename Action30, typename Action31, typename Action32, typename Action33,
4421 typename Action34, typename Action35, typename Action36, typename Action37,
4422 typename Action38, typename Action39, typename Action40, typename Action41,
4423 typename Action42, typename Action43, typename Action44, typename Action45,
4424 typename Action46, typename Action47, typename Action48, typename Action49,
4425 typename Action50, typename Action51, typename Action52, typename Action53,
4426 typename Action54, typename Action55, typename Action56, typename Action57,
4427 typename Action58, typename Action59, typename Action60, typename Action61,
4428 typename Action62>
IfList(CheckArg input,ActionArg action_arg,ActionFail action_fail,Check0 check0,Check1 check1,Check2 check2,Check3 check3,Check4 check4,Check5 check5,Check6 check6,Check7 check7,Check8 check8,Check9 check9,Check10 check10,Check11 check11,Check12 check12,Check13 check13,Check14 check14,Check15 check15,Check16 check16,Check17 check17,Check18 check18,Check19 check19,Check20 check20,Check21 check21,Check22 check22,Check23 check23,Check24 check24,Check25 check25,Check26 check26,Check27 check27,Check28 check28,Check29 check29,Check30 check30,Check31 check31,Check32 check32,Check33 check33,Check34 check34,Check35 check35,Check36 check36,Check37 check37,Check38 check38,Check39 check39,Check40 check40,Check41 check41,Check42 check42,Check43 check43,Check44 check44,Check45 check45,Check46 check46,Check47 check47,Check48 check48,Check49 check49,Check50 check50,Check51 check51,Check52 check52,Check53 check53,Check54 check54,Check55 check55,Check56 check56,Check57 check57,Check58 check58,Check59 check59,Check60 check60,Check61 check61,Check62 check62,Action0 action0,Action1 action1,Action2 action2,Action3 action3,Action4 action4,Action5 action5,Action6 action6,Action7 action7,Action8 action8,Action9 action9,Action10 action10,Action11 action11,Action12 action12,Action13 action13,Action14 action14,Action15 action15,Action16 action16,Action17 action17,Action18 action18,Action19 action19,Action20 action20,Action21 action21,Action22 action22,Action23 action23,Action24 action24,Action25 action25,Action26 action26,Action27 action27,Action28 action28,Action29 action29,Action30 action30,Action31 action31,Action32 action32,Action33 action33,Action34 action34,Action35 action35,Action36 action36,Action37 action37,Action38 action38,Action39 action39,Action40 action40,Action41 action41,Action42 action42,Action43 action43,Action44 action44,Action45 action45,Action46 action46,Action47 action47,Action48 action48,Action49 action49,Action50 action50,Action51 action51,Action52 action52,Action53 action53,Action54 action54,Action55 action55,Action56 action56,Action57 action57,Action58 action58,Action59 action59,Action60 action60,Action61 action61,Action62 action62)4429 auto IfList(
4430 CheckArg input, ActionArg action_arg, ActionFail action_fail, Check0 check0,
4431 Check1 check1, Check2 check2, Check3 check3, Check4 check4, Check5 check5,
4432 Check6 check6, Check7 check7, Check8 check8, Check9 check9, Check10 check10,
4433 Check11 check11, Check12 check12, Check13 check13, Check14 check14,
4434 Check15 check15, Check16 check16, Check17 check17, Check18 check18,
4435 Check19 check19, Check20 check20, Check21 check21, Check22 check22,
4436 Check23 check23, Check24 check24, Check25 check25, Check26 check26,
4437 Check27 check27, Check28 check28, Check29 check29, Check30 check30,
4438 Check31 check31, Check32 check32, Check33 check33, Check34 check34,
4439 Check35 check35, Check36 check36, Check37 check37, Check38 check38,
4440 Check39 check39, Check40 check40, Check41 check41, Check42 check42,
4441 Check43 check43, Check44 check44, Check45 check45, Check46 check46,
4442 Check47 check47, Check48 check48, Check49 check49, Check50 check50,
4443 Check51 check51, Check52 check52, Check53 check53, Check54 check54,
4444 Check55 check55, Check56 check56, Check57 check57, Check58 check58,
4445 Check59 check59, Check60 check60, Check61 check61, Check62 check62,
4446 Action0 action0, Action1 action1, Action2 action2, Action3 action3,
4447 Action4 action4, Action5 action5, Action6 action6, Action7 action7,
4448 Action8 action8, Action9 action9, Action10 action10, Action11 action11,
4449 Action12 action12, Action13 action13, Action14 action14, Action15 action15,
4450 Action16 action16, Action17 action17, Action18 action18, Action19 action19,
4451 Action20 action20, Action21 action21, Action22 action22, Action23 action23,
4452 Action24 action24, Action25 action25, Action26 action26, Action27 action27,
4453 Action28 action28, Action29 action29, Action30 action30, Action31 action31,
4454 Action32 action32, Action33 action33, Action34 action34, Action35 action35,
4455 Action36 action36, Action37 action37, Action38 action38, Action39 action39,
4456 Action40 action40, Action41 action41, Action42 action42, Action43 action43,
4457 Action44 action44, Action45 action45, Action46 action46, Action47 action47,
4458 Action48 action48, Action49 action49, Action50 action50, Action51 action51,
4459 Action52 action52, Action53 action53, Action54 action54, Action55 action55,
4460 Action56 action56, Action57 action57, Action58 action58, Action59 action59,
4461 Action60 action60, Action61 action61, Action62 action62) {
4462 if (check0(input)) return action0(action_arg);
4463 if (check1(input)) return action1(action_arg);
4464 if (check2(input)) return action2(action_arg);
4465 if (check3(input)) return action3(action_arg);
4466 if (check4(input)) return action4(action_arg);
4467 if (check5(input)) return action5(action_arg);
4468 if (check6(input)) return action6(action_arg);
4469 if (check7(input)) return action7(action_arg);
4470 if (check8(input)) return action8(action_arg);
4471 if (check9(input)) return action9(action_arg);
4472 if (check10(input)) return action10(action_arg);
4473 if (check11(input)) return action11(action_arg);
4474 if (check12(input)) return action12(action_arg);
4475 if (check13(input)) return action13(action_arg);
4476 if (check14(input)) return action14(action_arg);
4477 if (check15(input)) return action15(action_arg);
4478 if (check16(input)) return action16(action_arg);
4479 if (check17(input)) return action17(action_arg);
4480 if (check18(input)) return action18(action_arg);
4481 if (check19(input)) return action19(action_arg);
4482 if (check20(input)) return action20(action_arg);
4483 if (check21(input)) return action21(action_arg);
4484 if (check22(input)) return action22(action_arg);
4485 if (check23(input)) return action23(action_arg);
4486 if (check24(input)) return action24(action_arg);
4487 if (check25(input)) return action25(action_arg);
4488 if (check26(input)) return action26(action_arg);
4489 if (check27(input)) return action27(action_arg);
4490 if (check28(input)) return action28(action_arg);
4491 if (check29(input)) return action29(action_arg);
4492 if (check30(input)) return action30(action_arg);
4493 if (check31(input)) return action31(action_arg);
4494 if (check32(input)) return action32(action_arg);
4495 if (check33(input)) return action33(action_arg);
4496 if (check34(input)) return action34(action_arg);
4497 if (check35(input)) return action35(action_arg);
4498 if (check36(input)) return action36(action_arg);
4499 if (check37(input)) return action37(action_arg);
4500 if (check38(input)) return action38(action_arg);
4501 if (check39(input)) return action39(action_arg);
4502 if (check40(input)) return action40(action_arg);
4503 if (check41(input)) return action41(action_arg);
4504 if (check42(input)) return action42(action_arg);
4505 if (check43(input)) return action43(action_arg);
4506 if (check44(input)) return action44(action_arg);
4507 if (check45(input)) return action45(action_arg);
4508 if (check46(input)) return action46(action_arg);
4509 if (check47(input)) return action47(action_arg);
4510 if (check48(input)) return action48(action_arg);
4511 if (check49(input)) return action49(action_arg);
4512 if (check50(input)) return action50(action_arg);
4513 if (check51(input)) return action51(action_arg);
4514 if (check52(input)) return action52(action_arg);
4515 if (check53(input)) return action53(action_arg);
4516 if (check54(input)) return action54(action_arg);
4517 if (check55(input)) return action55(action_arg);
4518 if (check56(input)) return action56(action_arg);
4519 if (check57(input)) return action57(action_arg);
4520 if (check58(input)) return action58(action_arg);
4521 if (check59(input)) return action59(action_arg);
4522 if (check60(input)) return action60(action_arg);
4523 if (check61(input)) return action61(action_arg);
4524 if (check62(input)) return action62(action_arg);
4525 return action_fail(action_arg);
4526 }
4527
4528 } // namespace grpc_core
4529
4530 #endif // GRPC_SRC_CORE_LIB_GPRPP_IF_LIST_H
4531