switch.h
Go to the documentation of this file.
1 /*
2  * Copyright 2021 gRPC authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /*
18  * Automatically generated by tools/codegen/core/gen_switch.py
19  */
20 
21 #ifndef GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
22 #define GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
23 
25 
26 #include <stdlib.h>
27 
28 namespace grpc_core {
29 
30 template <typename R, typename F0>
31 R Switch(char idx, F0 f0) {
32  switch (idx) {
33  case 0:
34  return f0();
35  }
36  abort();
37 }
38 
39 template <typename R, typename F0, typename F1>
40 R Switch(char idx, F0 f0, F1 f1) {
41  switch (idx) {
42  case 0:
43  return f0();
44  case 1:
45  return f1();
46  }
47  abort();
48 }
49 
50 template <typename R, typename F0, typename F1, typename F2>
51 R Switch(char idx, F0 f0, F1 f1, F2 f2) {
52  switch (idx) {
53  case 0:
54  return f0();
55  case 1:
56  return f1();
57  case 2:
58  return f2();
59  }
60  abort();
61 }
62 
63 template <typename R, typename F0, typename F1, typename F2, typename F3>
64 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3) {
65  switch (idx) {
66  case 0:
67  return f0();
68  case 1:
69  return f1();
70  case 2:
71  return f2();
72  case 3:
73  return f3();
74  }
75  abort();
76 }
77 
78 template <typename R, typename F0, typename F1, typename F2, typename F3,
79  typename F4>
80 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4) {
81  switch (idx) {
82  case 0:
83  return f0();
84  case 1:
85  return f1();
86  case 2:
87  return f2();
88  case 3:
89  return f3();
90  case 4:
91  return f4();
92  }
93  abort();
94 }
95 
96 template <typename R, typename F0, typename F1, typename F2, typename F3,
97  typename F4, typename F5>
98 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5) {
99  switch (idx) {
100  case 0:
101  return f0();
102  case 1:
103  return f1();
104  case 2:
105  return f2();
106  case 3:
107  return f3();
108  case 4:
109  return f4();
110  case 5:
111  return f5();
112  }
113  abort();
114 }
115 
116 template <typename R, typename F0, typename F1, typename F2, typename F3,
117  typename F4, typename F5, typename F6>
118 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6) {
119  switch (idx) {
120  case 0:
121  return f0();
122  case 1:
123  return f1();
124  case 2:
125  return f2();
126  case 3:
127  return f3();
128  case 4:
129  return f4();
130  case 5:
131  return f5();
132  case 6:
133  return f6();
134  }
135  abort();
136 }
137 
138 template <typename R, typename F0, typename F1, typename F2, typename F3,
139  typename F4, typename F5, typename F6, typename F7>
140 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7) {
141  switch (idx) {
142  case 0:
143  return f0();
144  case 1:
145  return f1();
146  case 2:
147  return f2();
148  case 3:
149  return f3();
150  case 4:
151  return f4();
152  case 5:
153  return f5();
154  case 6:
155  return f6();
156  case 7:
157  return f7();
158  }
159  abort();
160 }
161 
162 template <typename R, typename F0, typename F1, typename F2, typename F3,
163  typename F4, typename F5, typename F6, typename F7, typename F8>
164 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
165  F8 f8) {
166  switch (idx) {
167  case 0:
168  return f0();
169  case 1:
170  return f1();
171  case 2:
172  return f2();
173  case 3:
174  return f3();
175  case 4:
176  return f4();
177  case 5:
178  return f5();
179  case 6:
180  return f6();
181  case 7:
182  return f7();
183  case 8:
184  return f8();
185  }
186  abort();
187 }
188 
189 template <typename R, typename F0, typename F1, typename F2, typename F3,
190  typename F4, typename F5, typename F6, typename F7, typename F8,
191  typename F9>
192 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
193  F8 f8, F9 f9) {
194  switch (idx) {
195  case 0:
196  return f0();
197  case 1:
198  return f1();
199  case 2:
200  return f2();
201  case 3:
202  return f3();
203  case 4:
204  return f4();
205  case 5:
206  return f5();
207  case 6:
208  return f6();
209  case 7:
210  return f7();
211  case 8:
212  return f8();
213  case 9:
214  return f9();
215  }
216  abort();
217 }
218 
219 template <typename R, typename F0, typename F1, typename F2, typename F3,
220  typename F4, typename F5, typename F6, typename F7, typename F8,
221  typename F9, typename F10>
222 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
223  F8 f8, F9 f9, F10 f10) {
224  switch (idx) {
225  case 0:
226  return f0();
227  case 1:
228  return f1();
229  case 2:
230  return f2();
231  case 3:
232  return f3();
233  case 4:
234  return f4();
235  case 5:
236  return f5();
237  case 6:
238  return f6();
239  case 7:
240  return f7();
241  case 8:
242  return f8();
243  case 9:
244  return f9();
245  case 10:
246  return f10();
247  }
248  abort();
249 }
250 
251 template <typename R, typename F0, typename F1, typename F2, typename F3,
252  typename F4, typename F5, typename F6, typename F7, typename F8,
253  typename F9, typename F10, typename F11>
254 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
255  F8 f8, F9 f9, F10 f10, F11 f11) {
256  switch (idx) {
257  case 0:
258  return f0();
259  case 1:
260  return f1();
261  case 2:
262  return f2();
263  case 3:
264  return f3();
265  case 4:
266  return f4();
267  case 5:
268  return f5();
269  case 6:
270  return f6();
271  case 7:
272  return f7();
273  case 8:
274  return f8();
275  case 9:
276  return f9();
277  case 10:
278  return f10();
279  case 11:
280  return f11();
281  }
282  abort();
283 }
284 
285 template <typename R, typename F0, typename F1, typename F2, typename F3,
286  typename F4, typename F5, typename F6, typename F7, typename F8,
287  typename F9, typename F10, typename F11, typename F12>
288 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
289  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12) {
290  switch (idx) {
291  case 0:
292  return f0();
293  case 1:
294  return f1();
295  case 2:
296  return f2();
297  case 3:
298  return f3();
299  case 4:
300  return f4();
301  case 5:
302  return f5();
303  case 6:
304  return f6();
305  case 7:
306  return f7();
307  case 8:
308  return f8();
309  case 9:
310  return f9();
311  case 10:
312  return f10();
313  case 11:
314  return f11();
315  case 12:
316  return f12();
317  }
318  abort();
319 }
320 
321 template <typename R, typename F0, typename F1, typename F2, typename F3,
322  typename F4, typename F5, typename F6, typename F7, typename F8,
323  typename F9, typename F10, typename F11, typename F12, typename F13>
324 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
325  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13) {
326  switch (idx) {
327  case 0:
328  return f0();
329  case 1:
330  return f1();
331  case 2:
332  return f2();
333  case 3:
334  return f3();
335  case 4:
336  return f4();
337  case 5:
338  return f5();
339  case 6:
340  return f6();
341  case 7:
342  return f7();
343  case 8:
344  return f8();
345  case 9:
346  return f9();
347  case 10:
348  return f10();
349  case 11:
350  return f11();
351  case 12:
352  return f12();
353  case 13:
354  return f13();
355  }
356  abort();
357 }
358 
359 template <typename R, typename F0, typename F1, typename F2, typename F3,
360  typename F4, typename F5, typename F6, typename F7, typename F8,
361  typename F9, typename F10, typename F11, typename F12, typename F13,
362  typename F14>
363 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
364  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14) {
365  switch (idx) {
366  case 0:
367  return f0();
368  case 1:
369  return f1();
370  case 2:
371  return f2();
372  case 3:
373  return f3();
374  case 4:
375  return f4();
376  case 5:
377  return f5();
378  case 6:
379  return f6();
380  case 7:
381  return f7();
382  case 8:
383  return f8();
384  case 9:
385  return f9();
386  case 10:
387  return f10();
388  case 11:
389  return f11();
390  case 12:
391  return f12();
392  case 13:
393  return f13();
394  case 14:
395  return f14();
396  }
397  abort();
398 }
399 
400 template <typename R, typename F0, typename F1, typename F2, typename F3,
401  typename F4, typename F5, typename F6, typename F7, typename F8,
402  typename F9, typename F10, typename F11, typename F12, typename F13,
403  typename F14, typename F15>
404 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
405  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15) {
406  switch (idx) {
407  case 0:
408  return f0();
409  case 1:
410  return f1();
411  case 2:
412  return f2();
413  case 3:
414  return f3();
415  case 4:
416  return f4();
417  case 5:
418  return f5();
419  case 6:
420  return f6();
421  case 7:
422  return f7();
423  case 8:
424  return f8();
425  case 9:
426  return f9();
427  case 10:
428  return f10();
429  case 11:
430  return f11();
431  case 12:
432  return f12();
433  case 13:
434  return f13();
435  case 14:
436  return f14();
437  case 15:
438  return f15();
439  }
440  abort();
441 }
442 
443 template <typename R, typename F0, typename F1, typename F2, typename F3,
444  typename F4, typename F5, typename F6, typename F7, typename F8,
445  typename F9, typename F10, typename F11, typename F12, typename F13,
446  typename F14, typename F15, typename F16>
447 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
448  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
449  F16 f16) {
450  switch (idx) {
451  case 0:
452  return f0();
453  case 1:
454  return f1();
455  case 2:
456  return f2();
457  case 3:
458  return f3();
459  case 4:
460  return f4();
461  case 5:
462  return f5();
463  case 6:
464  return f6();
465  case 7:
466  return f7();
467  case 8:
468  return f8();
469  case 9:
470  return f9();
471  case 10:
472  return f10();
473  case 11:
474  return f11();
475  case 12:
476  return f12();
477  case 13:
478  return f13();
479  case 14:
480  return f14();
481  case 15:
482  return f15();
483  case 16:
484  return f16();
485  }
486  abort();
487 }
488 
489 template <typename R, typename F0, typename F1, typename F2, typename F3,
490  typename F4, typename F5, typename F6, typename F7, typename F8,
491  typename F9, typename F10, typename F11, typename F12, typename F13,
492  typename F14, typename F15, typename F16, typename F17>
493 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
494  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
495  F16 f16, F17 f17) {
496  switch (idx) {
497  case 0:
498  return f0();
499  case 1:
500  return f1();
501  case 2:
502  return f2();
503  case 3:
504  return f3();
505  case 4:
506  return f4();
507  case 5:
508  return f5();
509  case 6:
510  return f6();
511  case 7:
512  return f7();
513  case 8:
514  return f8();
515  case 9:
516  return f9();
517  case 10:
518  return f10();
519  case 11:
520  return f11();
521  case 12:
522  return f12();
523  case 13:
524  return f13();
525  case 14:
526  return f14();
527  case 15:
528  return f15();
529  case 16:
530  return f16();
531  case 17:
532  return f17();
533  }
534  abort();
535 }
536 
537 template <typename R, typename F0, typename F1, typename F2, typename F3,
538  typename F4, typename F5, typename F6, typename F7, typename F8,
539  typename F9, typename F10, typename F11, typename F12, typename F13,
540  typename F14, typename F15, typename F16, typename F17, typename F18>
541 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
542  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
543  F16 f16, F17 f17, F18 f18) {
544  switch (idx) {
545  case 0:
546  return f0();
547  case 1:
548  return f1();
549  case 2:
550  return f2();
551  case 3:
552  return f3();
553  case 4:
554  return f4();
555  case 5:
556  return f5();
557  case 6:
558  return f6();
559  case 7:
560  return f7();
561  case 8:
562  return f8();
563  case 9:
564  return f9();
565  case 10:
566  return f10();
567  case 11:
568  return f11();
569  case 12:
570  return f12();
571  case 13:
572  return f13();
573  case 14:
574  return f14();
575  case 15:
576  return f15();
577  case 16:
578  return f16();
579  case 17:
580  return f17();
581  case 18:
582  return f18();
583  }
584  abort();
585 }
586 
587 template <typename R, typename F0, typename F1, typename F2, typename F3,
588  typename F4, typename F5, typename F6, typename F7, typename F8,
589  typename F9, typename F10, typename F11, typename F12, typename F13,
590  typename F14, typename F15, typename F16, typename F17, typename F18,
591  typename F19>
592 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
593  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
594  F16 f16, F17 f17, F18 f18, F19 f19) {
595  switch (idx) {
596  case 0:
597  return f0();
598  case 1:
599  return f1();
600  case 2:
601  return f2();
602  case 3:
603  return f3();
604  case 4:
605  return f4();
606  case 5:
607  return f5();
608  case 6:
609  return f6();
610  case 7:
611  return f7();
612  case 8:
613  return f8();
614  case 9:
615  return f9();
616  case 10:
617  return f10();
618  case 11:
619  return f11();
620  case 12:
621  return f12();
622  case 13:
623  return f13();
624  case 14:
625  return f14();
626  case 15:
627  return f15();
628  case 16:
629  return f16();
630  case 17:
631  return f17();
632  case 18:
633  return f18();
634  case 19:
635  return f19();
636  }
637  abort();
638 }
639 
640 template <typename R, typename F0, typename F1, typename F2, typename F3,
641  typename F4, typename F5, typename F6, typename F7, typename F8,
642  typename F9, typename F10, typename F11, typename F12, typename F13,
643  typename F14, typename F15, typename F16, typename F17, typename F18,
644  typename F19, typename F20>
645 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
646  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
647  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20) {
648  switch (idx) {
649  case 0:
650  return f0();
651  case 1:
652  return f1();
653  case 2:
654  return f2();
655  case 3:
656  return f3();
657  case 4:
658  return f4();
659  case 5:
660  return f5();
661  case 6:
662  return f6();
663  case 7:
664  return f7();
665  case 8:
666  return f8();
667  case 9:
668  return f9();
669  case 10:
670  return f10();
671  case 11:
672  return f11();
673  case 12:
674  return f12();
675  case 13:
676  return f13();
677  case 14:
678  return f14();
679  case 15:
680  return f15();
681  case 16:
682  return f16();
683  case 17:
684  return f17();
685  case 18:
686  return f18();
687  case 19:
688  return f19();
689  case 20:
690  return f20();
691  }
692  abort();
693 }
694 
695 template <typename R, typename F0, typename F1, typename F2, typename F3,
696  typename F4, typename F5, typename F6, typename F7, typename F8,
697  typename F9, typename F10, typename F11, typename F12, typename F13,
698  typename F14, typename F15, typename F16, typename F17, typename F18,
699  typename F19, typename F20, typename F21>
700 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
701  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
702  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21) {
703  switch (idx) {
704  case 0:
705  return f0();
706  case 1:
707  return f1();
708  case 2:
709  return f2();
710  case 3:
711  return f3();
712  case 4:
713  return f4();
714  case 5:
715  return f5();
716  case 6:
717  return f6();
718  case 7:
719  return f7();
720  case 8:
721  return f8();
722  case 9:
723  return f9();
724  case 10:
725  return f10();
726  case 11:
727  return f11();
728  case 12:
729  return f12();
730  case 13:
731  return f13();
732  case 14:
733  return f14();
734  case 15:
735  return f15();
736  case 16:
737  return f16();
738  case 17:
739  return f17();
740  case 18:
741  return f18();
742  case 19:
743  return f19();
744  case 20:
745  return f20();
746  case 21:
747  return f21();
748  }
749  abort();
750 }
751 
752 template <typename R, typename F0, typename F1, typename F2, typename F3,
753  typename F4, typename F5, typename F6, typename F7, typename F8,
754  typename F9, typename F10, typename F11, typename F12, typename F13,
755  typename F14, typename F15, typename F16, typename F17, typename F18,
756  typename F19, typename F20, typename F21, typename F22>
757 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
758  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
759  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22) {
760  switch (idx) {
761  case 0:
762  return f0();
763  case 1:
764  return f1();
765  case 2:
766  return f2();
767  case 3:
768  return f3();
769  case 4:
770  return f4();
771  case 5:
772  return f5();
773  case 6:
774  return f6();
775  case 7:
776  return f7();
777  case 8:
778  return f8();
779  case 9:
780  return f9();
781  case 10:
782  return f10();
783  case 11:
784  return f11();
785  case 12:
786  return f12();
787  case 13:
788  return f13();
789  case 14:
790  return f14();
791  case 15:
792  return f15();
793  case 16:
794  return f16();
795  case 17:
796  return f17();
797  case 18:
798  return f18();
799  case 19:
800  return f19();
801  case 20:
802  return f20();
803  case 21:
804  return f21();
805  case 22:
806  return f22();
807  }
808  abort();
809 }
810 
811 template <typename R, typename F0, typename F1, typename F2, typename F3,
812  typename F4, typename F5, typename F6, typename F7, typename F8,
813  typename F9, typename F10, typename F11, typename F12, typename F13,
814  typename F14, typename F15, typename F16, typename F17, typename F18,
815  typename F19, typename F20, typename F21, typename F22, typename F23>
816 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
817  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
818  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22,
819  F23 f23) {
820  switch (idx) {
821  case 0:
822  return f0();
823  case 1:
824  return f1();
825  case 2:
826  return f2();
827  case 3:
828  return f3();
829  case 4:
830  return f4();
831  case 5:
832  return f5();
833  case 6:
834  return f6();
835  case 7:
836  return f7();
837  case 8:
838  return f8();
839  case 9:
840  return f9();
841  case 10:
842  return f10();
843  case 11:
844  return f11();
845  case 12:
846  return f12();
847  case 13:
848  return f13();
849  case 14:
850  return f14();
851  case 15:
852  return f15();
853  case 16:
854  return f16();
855  case 17:
856  return f17();
857  case 18:
858  return f18();
859  case 19:
860  return f19();
861  case 20:
862  return f20();
863  case 21:
864  return f21();
865  case 22:
866  return f22();
867  case 23:
868  return f23();
869  }
870  abort();
871 }
872 
873 template <typename R, typename F0, typename F1, typename F2, typename F3,
874  typename F4, typename F5, typename F6, typename F7, typename F8,
875  typename F9, typename F10, typename F11, typename F12, typename F13,
876  typename F14, typename F15, typename F16, typename F17, typename F18,
877  typename F19, typename F20, typename F21, typename F22, typename F23,
878  typename F24>
879 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
880  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
881  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
882  F24 f24) {
883  switch (idx) {
884  case 0:
885  return f0();
886  case 1:
887  return f1();
888  case 2:
889  return f2();
890  case 3:
891  return f3();
892  case 4:
893  return f4();
894  case 5:
895  return f5();
896  case 6:
897  return f6();
898  case 7:
899  return f7();
900  case 8:
901  return f8();
902  case 9:
903  return f9();
904  case 10:
905  return f10();
906  case 11:
907  return f11();
908  case 12:
909  return f12();
910  case 13:
911  return f13();
912  case 14:
913  return f14();
914  case 15:
915  return f15();
916  case 16:
917  return f16();
918  case 17:
919  return f17();
920  case 18:
921  return f18();
922  case 19:
923  return f19();
924  case 20:
925  return f20();
926  case 21:
927  return f21();
928  case 22:
929  return f22();
930  case 23:
931  return f23();
932  case 24:
933  return f24();
934  }
935  abort();
936 }
937 
938 template <typename R, typename F0, typename F1, typename F2, typename F3,
939  typename F4, typename F5, typename F6, typename F7, typename F8,
940  typename F9, typename F10, typename F11, typename F12, typename F13,
941  typename F14, typename F15, typename F16, typename F17, typename F18,
942  typename F19, typename F20, typename F21, typename F22, typename F23,
943  typename F24, typename F25>
944 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
945  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
946  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
947  F24 f24, F25 f25) {
948  switch (idx) {
949  case 0:
950  return f0();
951  case 1:
952  return f1();
953  case 2:
954  return f2();
955  case 3:
956  return f3();
957  case 4:
958  return f4();
959  case 5:
960  return f5();
961  case 6:
962  return f6();
963  case 7:
964  return f7();
965  case 8:
966  return f8();
967  case 9:
968  return f9();
969  case 10:
970  return f10();
971  case 11:
972  return f11();
973  case 12:
974  return f12();
975  case 13:
976  return f13();
977  case 14:
978  return f14();
979  case 15:
980  return f15();
981  case 16:
982  return f16();
983  case 17:
984  return f17();
985  case 18:
986  return f18();
987  case 19:
988  return f19();
989  case 20:
990  return f20();
991  case 21:
992  return f21();
993  case 22:
994  return f22();
995  case 23:
996  return f23();
997  case 24:
998  return f24();
999  case 25:
1000  return f25();
1001  }
1002  abort();
1003 }
1004 
1005 template <typename R, typename F0, typename F1, typename F2, typename F3,
1006  typename F4, typename F5, typename F6, typename F7, typename F8,
1007  typename F9, typename F10, typename F11, typename F12, typename F13,
1008  typename F14, typename F15, typename F16, typename F17, typename F18,
1009  typename F19, typename F20, typename F21, typename F22, typename F23,
1010  typename F24, typename F25, typename F26>
1011 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1012  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1013  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1014  F24 f24, F25 f25, F26 f26) {
1015  switch (idx) {
1016  case 0:
1017  return f0();
1018  case 1:
1019  return f1();
1020  case 2:
1021  return f2();
1022  case 3:
1023  return f3();
1024  case 4:
1025  return f4();
1026  case 5:
1027  return f5();
1028  case 6:
1029  return f6();
1030  case 7:
1031  return f7();
1032  case 8:
1033  return f8();
1034  case 9:
1035  return f9();
1036  case 10:
1037  return f10();
1038  case 11:
1039  return f11();
1040  case 12:
1041  return f12();
1042  case 13:
1043  return f13();
1044  case 14:
1045  return f14();
1046  case 15:
1047  return f15();
1048  case 16:
1049  return f16();
1050  case 17:
1051  return f17();
1052  case 18:
1053  return f18();
1054  case 19:
1055  return f19();
1056  case 20:
1057  return f20();
1058  case 21:
1059  return f21();
1060  case 22:
1061  return f22();
1062  case 23:
1063  return f23();
1064  case 24:
1065  return f24();
1066  case 25:
1067  return f25();
1068  case 26:
1069  return f26();
1070  }
1071  abort();
1072 }
1073 
1074 template <typename R, typename F0, typename F1, typename F2, typename F3,
1075  typename F4, typename F5, typename F6, typename F7, typename F8,
1076  typename F9, typename F10, typename F11, typename F12, typename F13,
1077  typename F14, typename F15, typename F16, typename F17, typename F18,
1078  typename F19, typename F20, typename F21, typename F22, typename F23,
1079  typename F24, typename F25, typename F26, typename F27>
1080 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1081  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1082  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1083  F24 f24, F25 f25, F26 f26, F27 f27) {
1084  switch (idx) {
1085  case 0:
1086  return f0();
1087  case 1:
1088  return f1();
1089  case 2:
1090  return f2();
1091  case 3:
1092  return f3();
1093  case 4:
1094  return f4();
1095  case 5:
1096  return f5();
1097  case 6:
1098  return f6();
1099  case 7:
1100  return f7();
1101  case 8:
1102  return f8();
1103  case 9:
1104  return f9();
1105  case 10:
1106  return f10();
1107  case 11:
1108  return f11();
1109  case 12:
1110  return f12();
1111  case 13:
1112  return f13();
1113  case 14:
1114  return f14();
1115  case 15:
1116  return f15();
1117  case 16:
1118  return f16();
1119  case 17:
1120  return f17();
1121  case 18:
1122  return f18();
1123  case 19:
1124  return f19();
1125  case 20:
1126  return f20();
1127  case 21:
1128  return f21();
1129  case 22:
1130  return f22();
1131  case 23:
1132  return f23();
1133  case 24:
1134  return f24();
1135  case 25:
1136  return f25();
1137  case 26:
1138  return f26();
1139  case 27:
1140  return f27();
1141  }
1142  abort();
1143 }
1144 
1145 template <typename R, typename F0, typename F1, typename F2, typename F3,
1146  typename F4, typename F5, typename F6, typename F7, typename F8,
1147  typename F9, typename F10, typename F11, typename F12, typename F13,
1148  typename F14, typename F15, typename F16, typename F17, typename F18,
1149  typename F19, typename F20, typename F21, typename F22, typename F23,
1150  typename F24, typename F25, typename F26, typename F27, typename F28>
1151 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1152  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1153  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1154  F24 f24, F25 f25, F26 f26, F27 f27, F28 f28) {
1155  switch (idx) {
1156  case 0:
1157  return f0();
1158  case 1:
1159  return f1();
1160  case 2:
1161  return f2();
1162  case 3:
1163  return f3();
1164  case 4:
1165  return f4();
1166  case 5:
1167  return f5();
1168  case 6:
1169  return f6();
1170  case 7:
1171  return f7();
1172  case 8:
1173  return f8();
1174  case 9:
1175  return f9();
1176  case 10:
1177  return f10();
1178  case 11:
1179  return f11();
1180  case 12:
1181  return f12();
1182  case 13:
1183  return f13();
1184  case 14:
1185  return f14();
1186  case 15:
1187  return f15();
1188  case 16:
1189  return f16();
1190  case 17:
1191  return f17();
1192  case 18:
1193  return f18();
1194  case 19:
1195  return f19();
1196  case 20:
1197  return f20();
1198  case 21:
1199  return f21();
1200  case 22:
1201  return f22();
1202  case 23:
1203  return f23();
1204  case 24:
1205  return f24();
1206  case 25:
1207  return f25();
1208  case 26:
1209  return f26();
1210  case 27:
1211  return f27();
1212  case 28:
1213  return f28();
1214  }
1215  abort();
1216 }
1217 
1218 template <typename R, typename F0, typename F1, typename F2, typename F3,
1219  typename F4, typename F5, typename F6, typename F7, typename F8,
1220  typename F9, typename F10, typename F11, typename F12, typename F13,
1221  typename F14, typename F15, typename F16, typename F17, typename F18,
1222  typename F19, typename F20, typename F21, typename F22, typename F23,
1223  typename F24, typename F25, typename F26, typename F27, typename F28,
1224  typename F29>
1225 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1226  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1227  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1228  F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29) {
1229  switch (idx) {
1230  case 0:
1231  return f0();
1232  case 1:
1233  return f1();
1234  case 2:
1235  return f2();
1236  case 3:
1237  return f3();
1238  case 4:
1239  return f4();
1240  case 5:
1241  return f5();
1242  case 6:
1243  return f6();
1244  case 7:
1245  return f7();
1246  case 8:
1247  return f8();
1248  case 9:
1249  return f9();
1250  case 10:
1251  return f10();
1252  case 11:
1253  return f11();
1254  case 12:
1255  return f12();
1256  case 13:
1257  return f13();
1258  case 14:
1259  return f14();
1260  case 15:
1261  return f15();
1262  case 16:
1263  return f16();
1264  case 17:
1265  return f17();
1266  case 18:
1267  return f18();
1268  case 19:
1269  return f19();
1270  case 20:
1271  return f20();
1272  case 21:
1273  return f21();
1274  case 22:
1275  return f22();
1276  case 23:
1277  return f23();
1278  case 24:
1279  return f24();
1280  case 25:
1281  return f25();
1282  case 26:
1283  return f26();
1284  case 27:
1285  return f27();
1286  case 28:
1287  return f28();
1288  case 29:
1289  return f29();
1290  }
1291  abort();
1292 }
1293 
1294 template <typename R, typename F0, typename F1, typename F2, typename F3,
1295  typename F4, typename F5, typename F6, typename F7, typename F8,
1296  typename F9, typename F10, typename F11, typename F12, typename F13,
1297  typename F14, typename F15, typename F16, typename F17, typename F18,
1298  typename F19, typename F20, typename F21, typename F22, typename F23,
1299  typename F24, typename F25, typename F26, typename F27, typename F28,
1300  typename F29, typename F30>
1301 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1302  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1303  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1304  F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30) {
1305  switch (idx) {
1306  case 0:
1307  return f0();
1308  case 1:
1309  return f1();
1310  case 2:
1311  return f2();
1312  case 3:
1313  return f3();
1314  case 4:
1315  return f4();
1316  case 5:
1317  return f5();
1318  case 6:
1319  return f6();
1320  case 7:
1321  return f7();
1322  case 8:
1323  return f8();
1324  case 9:
1325  return f9();
1326  case 10:
1327  return f10();
1328  case 11:
1329  return f11();
1330  case 12:
1331  return f12();
1332  case 13:
1333  return f13();
1334  case 14:
1335  return f14();
1336  case 15:
1337  return f15();
1338  case 16:
1339  return f16();
1340  case 17:
1341  return f17();
1342  case 18:
1343  return f18();
1344  case 19:
1345  return f19();
1346  case 20:
1347  return f20();
1348  case 21:
1349  return f21();
1350  case 22:
1351  return f22();
1352  case 23:
1353  return f23();
1354  case 24:
1355  return f24();
1356  case 25:
1357  return f25();
1358  case 26:
1359  return f26();
1360  case 27:
1361  return f27();
1362  case 28:
1363  return f28();
1364  case 29:
1365  return f29();
1366  case 30:
1367  return f30();
1368  }
1369  abort();
1370 }
1371 
1372 template <typename R, typename F0, typename F1, typename F2, typename F3,
1373  typename F4, typename F5, typename F6, typename F7, typename F8,
1374  typename F9, typename F10, typename F11, typename F12, typename F13,
1375  typename F14, typename F15, typename F16, typename F17, typename F18,
1376  typename F19, typename F20, typename F21, typename F22, typename F23,
1377  typename F24, typename F25, typename F26, typename F27, typename F28,
1378  typename F29, typename F30, typename F31>
1379 R Switch(char idx, F0 f0, F1 f1, F2 f2, F3 f3, F4 f4, F5 f5, F6 f6, F7 f7,
1380  F8 f8, F9 f9, F10 f10, F11 f11, F12 f12, F13 f13, F14 f14, F15 f15,
1381  F16 f16, F17 f17, F18 f18, F19 f19, F20 f20, F21 f21, F22 f22, F23 f23,
1382  F24 f24, F25 f25, F26 f26, F27 f27, F28 f28, F29 f29, F30 f30,
1383  F31 f31) {
1384  switch (idx) {
1385  case 0:
1386  return f0();
1387  case 1:
1388  return f1();
1389  case 2:
1390  return f2();
1391  case 3:
1392  return f3();
1393  case 4:
1394  return f4();
1395  case 5:
1396  return f5();
1397  case 6:
1398  return f6();
1399  case 7:
1400  return f7();
1401  case 8:
1402  return f8();
1403  case 9:
1404  return f9();
1405  case 10:
1406  return f10();
1407  case 11:
1408  return f11();
1409  case 12:
1410  return f12();
1411  case 13:
1412  return f13();
1413  case 14:
1414  return f14();
1415  case 15:
1416  return f15();
1417  case 16:
1418  return f16();
1419  case 17:
1420  return f17();
1421  case 18:
1422  return f18();
1423  case 19:
1424  return f19();
1425  case 20:
1426  return f20();
1427  case 21:
1428  return f21();
1429  case 22:
1430  return f22();
1431  case 23:
1432  return f23();
1433  case 24:
1434  return f24();
1435  case 25:
1436  return f25();
1437  case 26:
1438  return f26();
1439  case 27:
1440  return f27();
1441  case 28:
1442  return f28();
1443  case 29:
1444  return f29();
1445  case 30:
1446  return f30();
1447  case 31:
1448  return f31();
1449  }
1450  abort();
1451 }
1452 
1453 } // namespace grpc_core
1454 
1455 #endif // GRPC_CORE_LIB_PROMISE_DETAIL_SWITCH_H
F3
#define F3(x, y, z)
Definition: ripemd.c:111
std::tr1::f9
const T1 const T2 const T3 const T4 const T5 const T6 const T7 const T8 const T9 & f9
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1676
xds_manager.f1
f1
Definition: xds_manager.py:42
grpc_core
Definition: call_metric_recorder.h:31
std::tr1::f4
const T1 const T2 const T3 const T4 & f4
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1644
F4
#define F4(x, y, z)
Definition: ripemd.c:112
F5
#define F5(x, y, z)
Definition: ripemd.c:113
std::tr1::f6
const T1 const T2 const T3 const T4 const T5 const T6 & f6
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1656
std::tr1::f5
const T1 const T2 const T3 const T4 const T5 & f5
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1650
setup.idx
idx
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:197
F2
#define F2(x, y, z)
Definition: ripemd.c:110
F1
#define F1(x, y, z)
Definition: ripemd.c:109
std::tr1::f3
const T1 const T2 const T3 & f3
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1638
grpc_core::Switch
R Switch(char idx, F0 f0)
Definition: switch.h:31
xds_manager.f2
f2
Definition: xds_manager.py:85
std::tr1::f8
const T1 const T2 const T3 const T4 const T5 const T6 const T7 const T8 & f8
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1669
port_platform.h
std::tr1::f7
const T1 const T2 const T3 const T4 const T5 const T6 const T7 & f7
Definition: cares/cares/test/gmock-1.8.0/gtest/gtest.h:1662


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:28