44 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ 45 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ 50 #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P 65 template <
typename T1,
typename T2>
69 struct AssertTypeEq<
T,
T> {
78 const char*
const name =
typeid(
T).
name();
83 char*
const readable_name = abi::__cxa_demangle(name, 0, 0, &status);
84 const String name_str(status == 0 ? readable_name : name);
93 #endif // GTEST_HAS_RTTI 114 template <
typename T1>
119 template <
typename T1,
typename T2>
122 typedef Types1<T2>
Tail;
125 template <
typename T1,
typename T2,
typename T3>
128 typedef Types2<T2, T3>
Tail;
131 template <
typename T1,
typename T2,
typename T3,
typename T4>
134 typedef Types3<T2, T3, T4>
Tail;
137 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
140 typedef Types4<T2, T3, T4, T5>
Tail;
143 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
147 typedef Types5<T2, T3, T4, T5, T6>
Tail;
150 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
151 typename T6,
typename T7>
154 typedef Types6<T2, T3, T4, T5, T6, T7>
Tail;
157 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
158 typename T6,
typename T7,
typename T8>
161 typedef Types7<T2, T3, T4, T5, T6, T7, T8>
Tail;
164 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
165 typename T6,
typename T7,
typename T8,
typename T9>
168 typedef Types8<T2, T3, T4, T5, T6, T7, T8, T9>
Tail;
171 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
172 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
175 typedef Types9<T2, T3, T4, T5, T6, T7, T8, T9, T10>
Tail;
178 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
179 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
183 typedef Types10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
Tail;
186 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
187 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
188 typename T11,
typename T12>
191 typedef Types11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
Tail;
194 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
195 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
196 typename T11,
typename T12,
typename T13>
199 typedef Types12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
Tail;
202 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
203 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
204 typename T11,
typename T12,
typename T13,
typename T14>
207 typedef Types13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
Tail;
210 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
211 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
212 typename T11,
typename T12,
typename T13,
typename T14,
typename T15>
215 typedef Types14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
219 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
220 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
221 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
225 typedef Types15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
229 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
230 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
231 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
232 typename T16,
typename T17>
235 typedef Types16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
239 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
240 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
241 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
242 typename T16,
typename T17,
typename T18>
245 typedef Types17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
249 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
250 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
251 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
252 typename T16,
typename T17,
typename T18,
typename T19>
255 typedef Types18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
256 T16, T17, T18, T19>
Tail;
259 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
260 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
261 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
262 typename T16,
typename T17,
typename T18,
typename T19,
typename T20>
265 typedef Types19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
266 T16, T17, T18, T19, T20>
Tail;
269 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
270 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
271 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
272 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
276 typedef Types20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
277 T16, T17, T18, T19, T20, T21>
Tail;
280 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
281 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
282 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
283 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
284 typename T21,
typename T22>
287 typedef Types21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
288 T16, T17, T18, T19, T20, T21, T22>
Tail;
291 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
292 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
293 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
294 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
295 typename T21,
typename T22,
typename T23>
298 typedef Types22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
299 T16, T17, T18, T19, T20, T21, T22, T23>
Tail;
302 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
303 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
304 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
305 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
306 typename T21,
typename T22,
typename T23,
typename T24>
309 typedef Types23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
310 T16, T17, T18, T19, T20, T21, T22, T23, T24>
Tail;
313 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
314 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
315 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
316 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
317 typename T21,
typename T22,
typename T23,
typename T24,
typename T25>
320 typedef Types24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
321 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>
Tail;
324 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
325 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
326 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
327 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
328 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
332 typedef Types25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
333 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26>
Tail;
336 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
337 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
338 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
339 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
340 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
341 typename T26,
typename T27>
344 typedef Types26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
345 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27>
Tail;
348 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
349 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
350 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
351 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
352 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
353 typename T26,
typename T27,
typename T28>
356 typedef Types27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
357 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28>
Tail;
360 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
361 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
362 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
363 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
364 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
365 typename T26,
typename T27,
typename T28,
typename T29>
368 typedef Types28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
369 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
373 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
374 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
375 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
376 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
377 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
378 typename T26,
typename T27,
typename T28,
typename T29,
typename T30>
381 typedef Types29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
382 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
386 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
387 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
388 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
389 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
390 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
391 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
395 typedef Types30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
396 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
400 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
401 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
402 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
403 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
404 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
405 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
406 typename T31,
typename T32>
409 typedef Types31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
410 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
414 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
415 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
416 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
417 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
418 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
419 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
420 typename T31,
typename T32,
typename T33>
423 typedef Types32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
424 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
425 T30, T31, T32, T33>
Tail;
428 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
429 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
430 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
431 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
432 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
433 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
434 typename T31,
typename T32,
typename T33,
typename T34>
437 typedef Types33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
438 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
439 T30, T31, T32, T33, T34>
Tail;
442 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
443 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
444 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
445 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
446 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
447 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
448 typename T31,
typename T32,
typename T33,
typename T34,
typename T35>
451 typedef Types34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
452 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
453 T30, T31, T32, T33, T34, T35>
Tail;
456 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
457 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
458 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
459 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
460 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
461 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
462 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
466 typedef Types35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
467 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
468 T30, T31, T32, T33, T34, T35, T36>
Tail;
471 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
472 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
473 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
474 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
475 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
476 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
477 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
478 typename T36,
typename T37>
481 typedef Types36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
482 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
483 T30, T31, T32, T33, T34, T35, T36, T37>
Tail;
486 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
487 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
488 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
489 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
490 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
491 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
492 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
493 typename T36,
typename T37,
typename T38>
496 typedef Types37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
497 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
498 T30, T31, T32, T33, T34, T35, T36, T37, T38>
Tail;
501 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
502 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
503 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
504 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
505 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
506 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
507 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
508 typename T36,
typename T37,
typename T38,
typename T39>
511 typedef Types38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
512 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
513 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39>
Tail;
516 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
517 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
518 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
519 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
520 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
521 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
522 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
523 typename T36,
typename T37,
typename T38,
typename T39,
typename T40>
526 typedef Types39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
527 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
528 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40>
Tail;
531 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
532 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
533 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
534 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
535 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
536 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
537 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
538 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
542 typedef Types40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
543 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
544 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41>
Tail;
547 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
548 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
549 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
550 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
551 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
552 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
553 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
554 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
555 typename T41,
typename T42>
558 typedef Types41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
559 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
560 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42>
Tail;
563 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
564 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
565 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
566 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
567 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
568 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
569 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
570 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
571 typename T41,
typename T42,
typename T43>
574 typedef Types42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
575 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
576 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
580 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
581 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
582 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
583 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
584 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
585 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
586 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
587 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
588 typename T41,
typename T42,
typename T43,
typename T44>
591 typedef Types43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
592 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
593 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
597 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
598 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
599 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
600 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
601 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
602 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
603 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
604 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
605 typename T41,
typename T42,
typename T43,
typename T44,
typename T45>
608 typedef Types44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
609 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
610 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
614 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
615 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
616 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
617 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
618 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
619 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
620 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
621 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
622 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
626 typedef Types45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
627 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
628 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
632 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
633 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
634 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
635 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
636 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
637 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
638 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
639 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
640 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
641 typename T46,
typename T47>
644 typedef Types46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
645 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
646 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
647 T44, T45, T46, T47>
Tail;
650 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
651 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
652 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
653 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
654 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
655 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
656 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
657 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
658 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
659 typename T46,
typename T47,
typename T48>
662 typedef Types47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
663 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
664 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
665 T44, T45, T46, T47, T48>
Tail;
668 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
669 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
670 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
671 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
672 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
673 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
674 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
675 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
676 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
677 typename T46,
typename T47,
typename T48,
typename T49>
680 typedef Types48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
681 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
682 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
683 T44, T45, T46, T47, T48, T49>
Tail;
686 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
687 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
688 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
689 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
690 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
691 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
692 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
693 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
694 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
695 typename T46,
typename T47,
typename T48,
typename T49,
typename T50>
698 typedef Types49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
699 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
700 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
701 T44, T45, T46, T47, T48, T49, T50>
Tail;
720 template <
typename T1 = internal::None,
typename T2 = internal::None,
721 typename T3 = internal::None,
typename T4 = internal::None,
722 typename T5 = internal::None,
typename T6 = internal::None,
723 typename T7 = internal::None,
typename T8 = internal::None,
724 typename T9 = internal::None,
typename T10 = internal::None,
725 typename T11 = internal::None,
typename T12 = internal::None,
726 typename T13 = internal::None,
typename T14 = internal::None,
727 typename T15 = internal::None,
typename T16 = internal::None,
728 typename T17 = internal::None,
typename T18 = internal::None,
729 typename T19 = internal::None,
typename T20 = internal::None,
730 typename T21 = internal::None,
typename T22 = internal::None,
731 typename T23 = internal::None,
typename T24 = internal::None,
732 typename T25 = internal::None,
typename T26 = internal::None,
733 typename T27 = internal::None,
typename T28 = internal::None,
734 typename T29 = internal::None,
typename T30 = internal::None,
735 typename T31 = internal::None,
typename T32 = internal::None,
736 typename T33 = internal::None,
typename T34 = internal::None,
737 typename T35 = internal::None,
typename T36 = internal::None,
738 typename T37 = internal::None,
typename T38 = internal::None,
739 typename T39 = internal::None,
typename T40 = internal::None,
740 typename T41 = internal::None,
typename T42 = internal::None,
741 typename T43 = internal::None,
typename T44 = internal::None,
742 typename T45 = internal::None,
typename T46 = internal::None,
743 typename T47 = internal::None,
typename T48 = internal::None,
744 typename T49 = internal::None,
typename T50 = internal::None>
746 typedef internal::Types50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
747 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
748 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
749 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50>
type;
753 struct Types<
internal::
None, internal::None, internal::None, internal::None,
754 internal::None, internal::None, internal::None, internal::None,
755 internal::None, internal::None, internal::None, internal::None,
756 internal::None, internal::None, internal::None, internal::None,
757 internal::None, internal::None, internal::None, internal::None,
758 internal::None, internal::None, internal::None, internal::None,
759 internal::None, internal::None, internal::None, internal::None,
760 internal::None, internal::None, internal::None, internal::None,
761 internal::None, internal::None, internal::None, internal::None,
762 internal::None, internal::None, internal::None, internal::None,
763 internal::None, internal::None, internal::None, internal::None,
764 internal::None, internal::None, internal::None, internal::None,
765 internal::None, internal::None> {
766 typedef internal::Types0
type;
768 template <
typename T1>
769 struct Types<T1,
internal::
None, internal::None, internal::None,
770 internal::None, internal::None, internal::None, internal::None,
771 internal::None, internal::None, internal::None, internal::None,
772 internal::None, internal::None, internal::None, internal::None,
773 internal::None, internal::None, internal::None, internal::None,
774 internal::None, internal::None, internal::None, internal::None,
775 internal::None, internal::None, internal::None, internal::None,
776 internal::None, internal::None, internal::None, internal::None,
777 internal::None, internal::None, internal::None, internal::None,
778 internal::None, internal::None, internal::None, internal::None,
779 internal::None, internal::None, internal::None, internal::None,
780 internal::None, internal::None, internal::None, internal::None,
781 internal::None, internal::None> {
782 typedef internal::Types1<T1>
type;
784 template <
typename T1,
typename T2>
785 struct Types<T1, T2,
internal::
None, internal::None, internal::None,
786 internal::None, internal::None, internal::None, internal::None,
787 internal::None, internal::None, internal::None, internal::None,
788 internal::None, internal::None, internal::None, internal::None,
789 internal::None, internal::None, internal::None, internal::None,
790 internal::None, internal::None, internal::None, internal::None,
791 internal::None, internal::None, internal::None, internal::None,
792 internal::None, internal::None, internal::None, internal::None,
793 internal::None, internal::None, internal::None, internal::None,
794 internal::None, internal::None, internal::None, internal::None,
795 internal::None, internal::None, internal::None, internal::None,
796 internal::None, internal::None, internal::None, internal::None,
798 typedef internal::Types2<T1, T2>
type;
800 template <
typename T1,
typename T2,
typename T3>
801 struct Types<T1, T2, T3,
internal::
None, internal::None, internal::None,
802 internal::None, internal::None, internal::None, internal::None,
803 internal::None, internal::None, internal::None, internal::None,
804 internal::None, internal::None, internal::None, internal::None,
805 internal::None, internal::None, internal::None, internal::None,
806 internal::None, internal::None, internal::None, internal::None,
807 internal::None, internal::None, internal::None, internal::None,
808 internal::None, internal::None, internal::None, internal::None,
809 internal::None, internal::None, internal::None, internal::None,
810 internal::None, internal::None, internal::None, internal::None,
811 internal::None, internal::None, internal::None, internal::None,
812 internal::None, internal::None, internal::None, internal::None> {
813 typedef internal::Types3<T1, T2, T3>
type;
815 template <
typename T1,
typename T2,
typename T3,
typename T4>
816 struct Types<T1, T2, T3, T4,
internal::
None, internal::None, internal::None,
817 internal::None, internal::None, internal::None, internal::None,
818 internal::None, internal::None, internal::None, internal::None,
819 internal::None, internal::None, internal::None, internal::None,
820 internal::None, internal::None, internal::None, internal::None,
821 internal::None, internal::None, internal::None, internal::None,
822 internal::None, internal::None, internal::None, internal::None,
823 internal::None, internal::None, internal::None, internal::None,
824 internal::None, internal::None, internal::None, internal::None,
825 internal::None, internal::None, internal::None, internal::None,
826 internal::None, internal::None, internal::None, internal::None,
827 internal::None, internal::None, internal::None> {
828 typedef internal::Types4<T1, T2, T3, T4>
type;
830 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
831 struct Types<T1, T2, T3, T4, T5,
internal::
None, internal::None,
832 internal::None, internal::None, internal::None, internal::None,
833 internal::None, internal::None, internal::None, internal::None,
834 internal::None, internal::None, internal::None, internal::None,
835 internal::None, internal::None, internal::None, internal::None,
836 internal::None, internal::None, internal::None, internal::None,
837 internal::None, internal::None, internal::None, internal::None,
838 internal::None, internal::None, internal::None, internal::None,
839 internal::None, internal::None, internal::None, internal::None,
840 internal::None, internal::None, internal::None, internal::None,
841 internal::None, internal::None, internal::None, internal::None,
842 internal::None, internal::None, internal::None> {
843 typedef internal::Types5<T1, T2, T3, T4, T5>
type;
845 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
847 struct Types<T1, T2, T3, T4, T5, T6,
internal::
None, internal::None,
848 internal::None, internal::None, internal::None, internal::None,
849 internal::None, internal::None, internal::None, internal::None,
850 internal::None, internal::None, internal::None, internal::None,
851 internal::None, internal::None, internal::None, internal::None,
852 internal::None, internal::None, internal::None, internal::None,
853 internal::None, internal::None, internal::None, internal::None,
854 internal::None, internal::None, internal::None, internal::None,
855 internal::None, internal::None, internal::None, internal::None,
856 internal::None, internal::None, internal::None, internal::None,
857 internal::None, internal::None, internal::None, internal::None,
858 internal::None, internal::None> {
859 typedef internal::Types6<T1, T2, T3, T4, T5, T6>
type;
861 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
862 typename T6,
typename T7>
863 struct Types<T1, T2, T3, T4, T5, T6, T7,
internal::
None, internal::None,
864 internal::None, internal::None, internal::None, internal::None,
865 internal::None, internal::None, internal::None, internal::None,
866 internal::None, internal::None, internal::None, internal::None,
867 internal::None, internal::None, internal::None, internal::None,
868 internal::None, internal::None, internal::None, internal::None,
869 internal::None, internal::None, internal::None, internal::None,
870 internal::None, internal::None, internal::None, internal::None,
871 internal::None, internal::None, internal::None, internal::None,
872 internal::None, internal::None, internal::None, internal::None,
873 internal::None, internal::None, internal::None, internal::None,
875 typedef internal::Types7<T1, T2, T3, T4, T5, T6, T7>
type;
877 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
878 typename T6,
typename T7,
typename T8>
879 struct Types<T1, T2, T3, T4, T5, T6, T7, T8,
internal::
None, internal::None,
880 internal::None, internal::None, internal::None, internal::None,
881 internal::None, internal::None, internal::None, internal::None,
882 internal::None, internal::None, internal::None, internal::None,
883 internal::None, internal::None, internal::None, internal::None,
884 internal::None, internal::None, internal::None, internal::None,
885 internal::None, internal::None, internal::None, internal::None,
886 internal::None, internal::None, internal::None, internal::None,
887 internal::None, internal::None, internal::None, internal::None,
888 internal::None, internal::None, internal::None, internal::None,
889 internal::None, internal::None, internal::None, internal::None> {
890 typedef internal::Types8<T1, T2, T3, T4, T5, T6, T7, T8>
type;
892 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
893 typename T6,
typename T7,
typename T8,
typename T9>
894 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9,
internal::
None,
895 internal::None, internal::None, internal::None, internal::None,
896 internal::None, internal::None, internal::None, internal::None,
897 internal::None, internal::None, internal::None, internal::None,
898 internal::None, internal::None, internal::None, internal::None,
899 internal::None, internal::None, internal::None, internal::None,
900 internal::None, internal::None, internal::None, internal::None,
901 internal::None, internal::None, internal::None, internal::None,
902 internal::None, internal::None, internal::None, internal::None,
903 internal::None, internal::None, internal::None, internal::None,
904 internal::None, internal::None, internal::None, internal::None> {
905 typedef internal::Types9<T1, T2, T3, T4, T5, T6, T7, T8, T9>
type;
907 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
908 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
909 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
internal::
None,
910 internal::None, internal::None, internal::None, internal::None,
911 internal::None, internal::None, internal::None, internal::None,
912 internal::None, internal::None, internal::None, internal::None,
913 internal::None, internal::None, internal::None, internal::None,
914 internal::None, internal::None, internal::None, internal::None,
915 internal::None, internal::None, internal::None, internal::None,
916 internal::None, internal::None, internal::None, internal::None,
917 internal::None, internal::None, internal::None, internal::None,
918 internal::None, internal::None, internal::None, internal::None,
919 internal::None, internal::None, internal::None> {
920 typedef internal::Types10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
type;
922 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
923 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
925 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
internal::
None,
926 internal::None, internal::None, internal::None, internal::None,
927 internal::None, internal::None, internal::None, internal::None,
928 internal::None, internal::None, internal::None, internal::None,
929 internal::None, internal::None, internal::None, internal::None,
930 internal::None, internal::None, internal::None, internal::None,
931 internal::None, internal::None, internal::None, internal::None,
932 internal::None, internal::None, internal::None, internal::None,
933 internal::None, internal::None, internal::None, internal::None,
934 internal::None, internal::None, internal::None, internal::None,
935 internal::None, internal::None> {
936 typedef internal::Types11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
type;
938 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
939 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
940 typename T11,
typename T12>
941 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
internal::
None,
942 internal::None, internal::None, internal::None, internal::None,
943 internal::None, internal::None, internal::None, internal::None,
944 internal::None, internal::None, internal::None, internal::None,
945 internal::None, internal::None, internal::None, internal::None,
946 internal::None, internal::None, internal::None, internal::None,
947 internal::None, internal::None, internal::None, internal::None,
948 internal::None, internal::None, internal::None, internal::None,
949 internal::None, internal::None, internal::None, internal::None,
950 internal::None, internal::None, internal::None, internal::None,
952 typedef internal::Types12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
955 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
956 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
957 typename T11,
typename T12,
typename T13>
958 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
959 internal::
None, internal::None, internal::None, internal::None,
960 internal::None, internal::None, internal::None, internal::None,
961 internal::None, internal::None, internal::None, internal::None,
962 internal::None, internal::None, internal::None, internal::None,
963 internal::None, internal::None, internal::None, internal::None,
964 internal::None, internal::None, internal::None, internal::None,
965 internal::None, internal::None, internal::None, internal::None,
966 internal::None, internal::None, internal::None, internal::None,
967 internal::None, internal::None, internal::None, internal::None,
969 typedef internal::Types13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
972 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
973 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
974 typename T11,
typename T12,
typename T13,
typename T14>
975 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
976 internal::
None, internal::None, internal::None, internal::None,
977 internal::None, internal::None, internal::None, internal::None,
978 internal::None, internal::None, internal::None, internal::None,
979 internal::None, internal::None, internal::None, internal::None,
980 internal::None, internal::None, internal::None, internal::None,
981 internal::None, internal::None, internal::None, internal::None,
982 internal::None, internal::None, internal::None, internal::None,
983 internal::None, internal::None, internal::None, internal::None,
984 internal::None, internal::None, internal::None, internal::None> {
985 typedef internal::Types14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
988 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
989 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
990 typename T11,
typename T12,
typename T13,
typename T14,
typename T15>
991 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
992 internal::
None, internal::None, internal::None, internal::None,
993 internal::None, internal::None, internal::None, internal::None,
994 internal::None, internal::None, internal::None, internal::None,
995 internal::None, internal::None, internal::None, internal::None,
996 internal::None, internal::None, internal::None, internal::None,
997 internal::None, internal::None, internal::None, internal::None,
998 internal::None, internal::None, internal::None, internal::None,
999 internal::None, internal::None, internal::None, internal::None,
1000 internal::None, internal::None, internal::None> {
1001 typedef internal::Types15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1002 T13, T14, T15>
type;
1004 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1005 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1006 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1008 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1009 T16,
internal::
None, internal::None, internal::None, internal::None,
1010 internal::None, internal::None, internal::None, internal::None,
1011 internal::None, internal::None, internal::None, internal::None,
1012 internal::None, internal::None, internal::None, internal::None,
1013 internal::None, internal::None, internal::None, internal::None,
1014 internal::None, internal::None, internal::None, internal::None,
1015 internal::None, internal::None, internal::None, internal::None,
1016 internal::None, internal::None, internal::None, internal::None,
1017 internal::None, internal::None> {
1018 typedef internal::Types16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1019 T13, T14, T15, T16>
type;
1021 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1022 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1023 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1024 typename T16,
typename T17>
1025 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1026 T16, T17,
internal::
None, internal::None, internal::None, internal::None,
1027 internal::None, internal::None, internal::None, internal::None,
1028 internal::None, internal::None, internal::None, internal::None,
1029 internal::None, internal::None, internal::None, internal::None,
1030 internal::None, internal::None, internal::None, internal::None,
1031 internal::None, internal::None, internal::None, internal::None,
1032 internal::None, internal::None, internal::None, internal::None,
1033 internal::None, internal::None, internal::None, internal::None,
1035 typedef internal::Types17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1036 T13, T14, T15, T16, T17>
type;
1038 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1039 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1040 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1041 typename T16,
typename T17,
typename T18>
1042 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1043 T16, T17, T18,
internal::
None, internal::None, internal::None,
1044 internal::None, internal::None, internal::None, internal::None,
1045 internal::None, internal::None, internal::None, internal::None,
1046 internal::None, internal::None, internal::None, internal::None,
1047 internal::None, internal::None, internal::None, internal::None,
1048 internal::None, internal::None, internal::None, internal::None,
1049 internal::None, internal::None, internal::None, internal::None,
1050 internal::None, internal::None, internal::None, internal::None,
1052 typedef internal::Types18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1053 T13, T14, T15, T16, T17, T18>
type;
1055 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1056 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1057 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1058 typename T16,
typename T17,
typename T18,
typename T19>
1059 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1060 T16, T17, T18, T19,
internal::
None, internal::None, internal::None,
1061 internal::None, internal::None, internal::None, internal::None,
1062 internal::None, internal::None, internal::None, internal::None,
1063 internal::None, internal::None, internal::None, internal::None,
1064 internal::None, internal::None, internal::None, internal::None,
1065 internal::None, internal::None, internal::None, internal::None,
1066 internal::None, internal::None, internal::None, internal::None,
1067 internal::None, internal::None, internal::None, internal::None> {
1068 typedef internal::Types19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1069 T13, T14, T15, T16, T17, T18, T19>
type;
1071 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1072 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1073 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1074 typename T16,
typename T17,
typename T18,
typename T19,
typename T20>
1075 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1076 T16, T17, T18, T19, T20,
internal::
None, internal::None, internal::None,
1077 internal::None, internal::None, internal::None, internal::None,
1078 internal::None, internal::None, internal::None, internal::None,
1079 internal::None, internal::None, internal::None, internal::None,
1080 internal::None, internal::None, internal::None, internal::None,
1081 internal::None, internal::None, internal::None, internal::None,
1082 internal::None, internal::None, internal::None, internal::None,
1083 internal::None, internal::None, internal::None> {
1084 typedef internal::Types20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1085 T13, T14, T15, T16, T17, T18, T19, T20>
type;
1087 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1088 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1089 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1090 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1092 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1093 T16, T17, T18, T19, T20, T21,
internal::
None, internal::None,
1094 internal::None, internal::None, internal::None, internal::None,
1095 internal::None, internal::None, internal::None, internal::None,
1096 internal::None, internal::None, internal::None, internal::None,
1097 internal::None, internal::None, internal::None, internal::None,
1098 internal::None, internal::None, internal::None, internal::None,
1099 internal::None, internal::None, internal::None, internal::None,
1100 internal::None, internal::None, internal::None> {
1101 typedef internal::Types21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1102 T13, T14, T15, T16, T17, T18, T19, T20, T21>
type;
1104 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1105 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1106 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1107 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1108 typename T21,
typename T22>
1109 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1110 T16, T17, T18, T19, T20, T21, T22,
internal::
None, internal::None,
1111 internal::None, internal::None, internal::None, internal::None,
1112 internal::None, internal::None, internal::None, internal::None,
1113 internal::None, internal::None, internal::None, internal::None,
1114 internal::None, internal::None, internal::None, internal::None,
1115 internal::None, internal::None, internal::None, internal::None,
1116 internal::None, internal::None, internal::None, internal::None,
1117 internal::None, internal::None> {
1118 typedef internal::Types22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1119 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>
type;
1121 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1122 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1123 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1124 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1125 typename T21,
typename T22,
typename T23>
1126 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1127 T16, T17, T18, T19, T20, T21, T22, T23,
internal::
None, internal::None,
1128 internal::None, internal::None, internal::None, internal::None,
1129 internal::None, internal::None, internal::None, internal::None,
1130 internal::None, internal::None, internal::None, internal::None,
1131 internal::None, internal::None, internal::None, internal::None,
1132 internal::None, internal::None, internal::None, internal::None,
1133 internal::None, internal::None, internal::None, internal::None,
1135 typedef internal::Types23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1136 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>
type;
1138 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1139 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1140 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1141 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1142 typename T21,
typename T22,
typename T23,
typename T24>
1143 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1144 T16, T17, T18, T19, T20, T21, T22, T23, T24,
internal::
None,
1145 internal::None, internal::None, internal::None, internal::None,
1146 internal::None, internal::None, internal::None, internal::None,
1147 internal::None, internal::None, internal::None, internal::None,
1148 internal::None, internal::None, internal::None, internal::None,
1149 internal::None, internal::None, internal::None, internal::None,
1150 internal::None, internal::None, internal::None, internal::None,
1152 typedef internal::Types24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1153 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>
type;
1155 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1156 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1157 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1158 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1159 typename T21,
typename T22,
typename T23,
typename T24,
typename T25>
1160 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1161 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
internal::
None,
1162 internal::None, internal::None, internal::None, internal::None,
1163 internal::None, internal::None, internal::None, internal::None,
1164 internal::None, internal::None, internal::None, internal::None,
1165 internal::None, internal::None, internal::None, internal::None,
1166 internal::None, internal::None, internal::None, internal::None,
1167 internal::None, internal::None, internal::None, internal::None> {
1168 typedef internal::Types25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1169 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>
type;
1171 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1172 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1173 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1174 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1175 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1177 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1178 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
internal::
None,
1179 internal::None, internal::None, internal::None, internal::None,
1180 internal::None, internal::None, internal::None, internal::None,
1181 internal::None, internal::None, internal::None, internal::None,
1182 internal::None, internal::None, internal::None, internal::None,
1183 internal::None, internal::None, internal::None, internal::None,
1184 internal::None, internal::None, internal::None> {
1185 typedef internal::Types26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1186 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1189 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1190 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1191 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1192 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1193 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1194 typename T26,
typename T27>
1195 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1196 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
internal::
None,
1197 internal::None, internal::None, internal::None, internal::None,
1198 internal::None, internal::None, internal::None, internal::None,
1199 internal::None, internal::None, internal::None, internal::None,
1200 internal::None, internal::None, internal::None, internal::None,
1201 internal::None, internal::None, internal::None, internal::None,
1202 internal::None, internal::None> {
1203 typedef internal::Types27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1204 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1207 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1208 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1209 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1210 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1211 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1212 typename T26,
typename T27,
typename T28>
1213 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1214 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1215 internal::
None, internal::None, internal::None, internal::None,
1216 internal::None, internal::None, internal::None, internal::None,
1217 internal::None, internal::None, internal::None, internal::None,
1218 internal::None, internal::None, internal::None, internal::None,
1219 internal::None, internal::None, internal::None, internal::None,
1220 internal::None, internal::None> {
1221 typedef internal::Types28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1222 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1225 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1226 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1227 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1228 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1229 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1230 typename T26,
typename T27,
typename T28,
typename T29>
1231 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1232 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
1233 internal::
None, internal::None, internal::None, internal::None,
1234 internal::None, internal::None, internal::None, internal::None,
1235 internal::None, internal::None, internal::None, internal::None,
1236 internal::None, internal::None, internal::None, internal::None,
1237 internal::None, internal::None, internal::None, internal::None,
1239 typedef internal::Types29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1240 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1241 T27, T28, T29>
type;
1243 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1244 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1245 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1246 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1247 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1248 typename T26,
typename T27,
typename T28,
typename T29,
typename T30>
1249 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1250 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1251 internal::
None, internal::None, internal::None, internal::None,
1252 internal::None, internal::None, internal::None, internal::None,
1253 internal::None, internal::None, internal::None, internal::None,
1254 internal::None, internal::None, internal::None, internal::None,
1255 internal::None, internal::None, internal::None, internal::None> {
1256 typedef internal::Types30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1257 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1258 T27, T28, T29, T30>
type;
1260 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1261 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1262 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1263 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1264 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1265 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1267 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1268 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1269 T31,
internal::
None, internal::None, internal::None, internal::None,
1270 internal::None, internal::None, internal::None, internal::None,
1271 internal::None, internal::None, internal::None, internal::None,
1272 internal::None, internal::None, internal::None, internal::None,
1273 internal::None, internal::None, internal::None> {
1274 typedef internal::Types31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1275 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1276 T27, T28, T29, T30, T31>
type;
1278 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1279 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1280 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1281 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1282 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1283 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1284 typename T31,
typename T32>
1285 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1286 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1287 T31, T32,
internal::
None, internal::None, internal::None, internal::None,
1288 internal::None, internal::None, internal::None, internal::None,
1289 internal::None, internal::None, internal::None, internal::None,
1290 internal::None, internal::None, internal::None, internal::None,
1291 internal::None, internal::None> {
1292 typedef internal::Types32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1293 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1294 T27, T28, T29, T30, T31, T32>
type;
1296 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1297 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1298 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1299 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1300 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1301 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1302 typename T31,
typename T32,
typename T33>
1303 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1304 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1305 T31, T32, T33,
internal::
None, internal::None, internal::None,
1306 internal::None, internal::None, internal::None, internal::None,
1307 internal::None, internal::None, internal::None, internal::None,
1308 internal::None, internal::None, internal::None, internal::None,
1309 internal::None, internal::None> {
1310 typedef internal::Types33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1311 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1312 T27, T28, T29, T30, T31, T32, T33>
type;
1314 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1315 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1316 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1317 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1318 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1319 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1320 typename T31,
typename T32,
typename T33,
typename T34>
1321 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1322 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1323 T31, T32, T33, T34,
internal::
None, internal::None, internal::None,
1324 internal::None, internal::None, internal::None, internal::None,
1325 internal::None, internal::None, internal::None, internal::None,
1326 internal::None, internal::None, internal::None, internal::None,
1328 typedef internal::Types34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1329 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1330 T27, T28, T29, T30, T31, T32, T33, T34>
type;
1332 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1333 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1334 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1335 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1336 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1337 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1338 typename T31,
typename T32,
typename T33,
typename T34,
typename T35>
1339 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1340 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1341 T31, T32, T33, T34, T35,
internal::
None, internal::None, internal::None,
1342 internal::None, internal::None, internal::None, internal::None,
1343 internal::None, internal::None, internal::None, internal::None,
1344 internal::None, internal::None, internal::None, internal::None> {
1345 typedef internal::Types35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1346 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1347 T27, T28, T29, T30, T31, T32, T33, T34, T35>
type;
1349 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1350 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1351 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1352 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1353 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1354 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1355 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1357 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1358 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1359 T31, T32, T33, T34, T35, T36,
internal::
None, internal::None,
1360 internal::None, internal::None, internal::None, internal::None,
1361 internal::None, internal::None, internal::None, internal::None,
1362 internal::None, internal::None, internal::None, internal::None> {
1363 typedef internal::Types36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1364 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1365 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36>
type;
1367 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1368 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1369 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1370 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1371 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1372 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1373 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1374 typename T36,
typename T37>
1375 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1376 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1377 T31, T32, T33, T34, T35, T36, T37,
internal::
None, internal::None,
1378 internal::None, internal::None, internal::None, internal::None,
1379 internal::None, internal::None, internal::None, internal::None,
1380 internal::None, internal::None, internal::None> {
1381 typedef internal::Types37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1382 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1383 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37>
type;
1385 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1386 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1387 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1388 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1389 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1390 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1391 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1392 typename T36,
typename T37,
typename T38>
1393 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1394 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1395 T31, T32, T33, T34, T35, T36, T37, T38,
internal::
None, internal::None,
1396 internal::None, internal::None, internal::None, internal::None,
1397 internal::None, internal::None, internal::None, internal::None,
1398 internal::None, internal::None> {
1399 typedef internal::Types38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1400 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1401 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38>
type;
1403 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1404 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1405 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1406 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1407 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1408 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1409 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1410 typename T36,
typename T37,
typename T38,
typename T39>
1411 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1412 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1413 T31, T32, T33, T34, T35, T36, T37, T38, T39,
internal::
None,
1414 internal::None, internal::None, internal::None, internal::None,
1415 internal::None, internal::None, internal::None, internal::None,
1416 internal::None, internal::None> {
1417 typedef internal::Types39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1418 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1419 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39>
type;
1421 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1422 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1423 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1424 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1425 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1426 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1427 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1428 typename T36,
typename T37,
typename T38,
typename T39,
typename T40>
1429 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1430 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1431 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
internal::
None,
1432 internal::None, internal::None, internal::None, internal::None,
1433 internal::None, internal::None, internal::None, internal::None,
1435 typedef internal::Types40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1436 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1437 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1440 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1441 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1442 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1443 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1444 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1445 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1446 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1447 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1449 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1450 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1451 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
internal::
None,
1452 internal::None, internal::None, internal::None, internal::None,
1453 internal::None, internal::None, internal::None, internal::None> {
1454 typedef internal::Types41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1455 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1456 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1459 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1460 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1461 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1462 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1463 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1464 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1465 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1466 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1467 typename T41,
typename T42>
1468 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1469 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1470 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
internal::
None,
1471 internal::None, internal::None, internal::None, internal::None,
1472 internal::None, internal::None, internal::None> {
1473 typedef internal::Types42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1474 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1475 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1478 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1479 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1480 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1481 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1482 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1483 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1484 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1485 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1486 typename T41,
typename T42,
typename T43>
1487 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1488 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1489 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1490 internal::
None, internal::None, internal::None, internal::None,
1491 internal::None, internal::None, internal::None> {
1492 typedef internal::Types43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1493 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1494 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1495 T41, T42, T43>
type;
1497 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1498 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1499 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1500 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1501 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1502 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1503 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1504 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1505 typename T41,
typename T42,
typename T43,
typename T44>
1506 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1507 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1508 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
1509 internal::
None, internal::None, internal::None, internal::None,
1510 internal::None, internal::None> {
1511 typedef internal::Types44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1512 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1513 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1514 T41, T42, T43, T44>
type;
1516 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1517 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1518 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1519 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1520 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1521 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1522 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1523 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1524 typename T41,
typename T42,
typename T43,
typename T44,
typename T45>
1525 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1526 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1527 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1528 internal::
None, internal::None, internal::None, internal::None,
1530 typedef internal::Types45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1531 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1532 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1533 T41, T42, T43, T44, T45>
type;
1535 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1536 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1537 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1538 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1539 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1540 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1541 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1542 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1543 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1545 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1546 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1547 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1548 T46,
internal::
None, internal::None, internal::None, internal::None> {
1549 typedef internal::Types46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1550 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1551 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1552 T41, T42, T43, T44, T45, T46>
type;
1554 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1555 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1556 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1557 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1558 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1559 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1560 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1561 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1562 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1563 typename T46,
typename T47>
1564 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1565 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1566 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1567 T46, T47,
internal::
None, internal::None, internal::None> {
1568 typedef internal::Types47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1569 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1570 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1571 T41, T42, T43, T44, T45, T46, T47>
type;
1573 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1574 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1575 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1576 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1577 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1578 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1579 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1580 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1581 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1582 typename T46,
typename T47,
typename T48>
1583 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1584 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1585 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1587 typedef internal::Types48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1588 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1589 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1590 T41, T42, T43, T44, T45, T46, T47, T48>
type;
1592 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1593 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1594 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1595 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1596 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1597 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1598 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1599 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1600 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1601 typename T46,
typename T47,
typename T48,
typename T49>
1602 struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1603 T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1604 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1606 typedef internal::Types49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1607 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1608 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1609 T41, T42, T43, T44, T45, T46, T47, T48, T49>
type;
1614 #define GTEST_TEMPLATE_ template <typename T> class 1624 template <GTEST_TEMPLATE_ Tmpl>
1625 struct TemplateSel {
1626 template <
typename T>
1628 typedef Tmpl<T>
type;
1632 #define GTEST_BIND_(TmplSel, T) \ 1633 TmplSel::template Bind<T>::type 1639 template <
typename T>
1650 struct Templates0 {};
1654 template <GTEST_TEMPLATE_ T1>
1656 typedef TemplateSel<T1> Head;
1657 typedef Templates0
Tail;
1659 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2>
1661 typedef TemplateSel<T1> Head;
1662 typedef Templates1<T2>
Tail;
1665 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3>
1667 typedef TemplateSel<T1> Head;
1668 typedef Templates2<T2, T3>
Tail;
1671 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1674 typedef TemplateSel<T1> Head;
1675 typedef Templates3<T2, T3, T4>
Tail;
1678 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1679 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5>
1681 typedef TemplateSel<T1> Head;
1682 typedef Templates4<T2, T3, T4, T5>
Tail;
1685 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1686 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6>
1688 typedef TemplateSel<T1> Head;
1689 typedef Templates5<T2, T3, T4, T5, T6>
Tail;
1692 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1693 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1696 typedef TemplateSel<T1> Head;
1697 typedef Templates6<T2, T3, T4, T5, T6, T7>
Tail;
1700 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1701 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1702 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8>
1704 typedef TemplateSel<T1> Head;
1705 typedef Templates7<T2, T3, T4, T5, T6, T7, T8>
Tail;
1708 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1709 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1710 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9>
1712 typedef TemplateSel<T1> Head;
1713 typedef Templates8<T2, T3, T4, T5, T6, T7, T8, T9>
Tail;
1716 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1717 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1718 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1719 GTEST_TEMPLATE_ T10>
1720 struct Templates10 {
1721 typedef TemplateSel<T1> Head;
1722 typedef Templates9<T2, T3, T4, T5, T6, T7, T8, T9, T10>
Tail;
1725 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1726 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1727 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1728 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11>
1729 struct Templates11 {
1730 typedef TemplateSel<T1> Head;
1731 typedef Templates10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
Tail;
1734 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1735 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1736 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1737 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12>
1738 struct Templates12 {
1739 typedef TemplateSel<T1> Head;
1740 typedef Templates11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
Tail;
1743 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1744 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1745 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1746 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1747 GTEST_TEMPLATE_ T13>
1748 struct Templates13 {
1749 typedef TemplateSel<T1> Head;
1750 typedef Templates12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
Tail;
1753 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1754 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1755 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1756 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1757 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14>
1758 struct Templates14 {
1759 typedef TemplateSel<T1> Head;
1760 typedef Templates13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1764 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1765 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1766 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1767 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1768 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15>
1769 struct Templates15 {
1770 typedef TemplateSel<T1> Head;
1771 typedef Templates14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1775 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1776 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1777 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1778 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1779 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1780 GTEST_TEMPLATE_ T16>
1781 struct Templates16 {
1782 typedef TemplateSel<T1> Head;
1783 typedef Templates15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1787 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1788 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1789 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1790 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1791 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1792 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17>
1793 struct Templates17 {
1794 typedef TemplateSel<T1> Head;
1795 typedef Templates16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1796 T15, T16, T17>
Tail;
1799 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1800 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1801 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1802 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1803 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1804 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18>
1805 struct Templates18 {
1806 typedef TemplateSel<T1> Head;
1807 typedef Templates17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1808 T15, T16, T17, T18>
Tail;
1811 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1812 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1813 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1814 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1815 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1816 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1817 GTEST_TEMPLATE_ T19>
1818 struct Templates19 {
1819 typedef TemplateSel<T1> Head;
1820 typedef Templates18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1821 T15, T16, T17, T18, T19>
Tail;
1824 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1825 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1826 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1827 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1828 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1829 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1830 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20>
1831 struct Templates20 {
1832 typedef TemplateSel<T1> Head;
1833 typedef Templates19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1834 T15, T16, T17, T18, T19, T20>
Tail;
1837 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1838 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1839 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1840 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1841 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1842 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1843 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21>
1844 struct Templates21 {
1845 typedef TemplateSel<T1> Head;
1846 typedef Templates20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1847 T15, T16, T17, T18, T19, T20, T21>
Tail;
1850 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1851 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1852 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1853 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1854 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1855 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1856 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1857 GTEST_TEMPLATE_ T22>
1858 struct Templates22 {
1859 typedef TemplateSel<T1> Head;
1860 typedef Templates21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1861 T15, T16, T17, T18, T19, T20, T21, T22>
Tail;
1864 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1865 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1866 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1867 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1868 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1869 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1870 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1871 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23>
1872 struct Templates23 {
1873 typedef TemplateSel<T1> Head;
1874 typedef Templates22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1875 T15, T16, T17, T18, T19, T20, T21, T22, T23>
Tail;
1878 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1879 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1880 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1881 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1882 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1883 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1884 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1885 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24>
1886 struct Templates24 {
1887 typedef TemplateSel<T1> Head;
1888 typedef Templates23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1889 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>
Tail;
1892 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1893 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1894 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1895 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1896 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1897 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1898 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1899 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1900 GTEST_TEMPLATE_ T25>
1901 struct Templates25 {
1902 typedef TemplateSel<T1> Head;
1903 typedef Templates24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1904 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>
Tail;
1907 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1908 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1909 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1910 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1911 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1912 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1913 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1914 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1915 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26>
1916 struct Templates26 {
1917 typedef TemplateSel<T1> Head;
1918 typedef Templates25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1919 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26>
Tail;
1922 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1923 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1924 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1925 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1926 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1927 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1928 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1929 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1930 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27>
1931 struct Templates27 {
1932 typedef TemplateSel<T1> Head;
1933 typedef Templates26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1934 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27>
Tail;
1937 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1938 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1939 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1940 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1941 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1942 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1943 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1944 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1945 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1946 GTEST_TEMPLATE_ T28>
1947 struct Templates28 {
1948 typedef TemplateSel<T1> Head;
1949 typedef Templates27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1950 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
1954 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1955 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1956 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1957 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1958 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1959 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1960 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1961 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1962 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1963 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29>
1964 struct Templates29 {
1965 typedef TemplateSel<T1> Head;
1966 typedef Templates28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1967 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1971 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1972 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1973 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1974 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1975 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1976 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1977 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1978 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1979 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1980 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30>
1981 struct Templates30 {
1982 typedef TemplateSel<T1> Head;
1983 typedef Templates29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1984 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1988 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1989 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1990 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1991 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1992 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1993 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1994 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1995 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1996 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1997 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
1998 GTEST_TEMPLATE_ T31>
1999 struct Templates31 {
2000 typedef TemplateSel<T1> Head;
2001 typedef Templates30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2002 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2003 T29, T30, T31>
Tail;
2006 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2007 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2008 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2009 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2010 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2011 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2012 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2013 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2014 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2015 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2016 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32>
2017 struct Templates32 {
2018 typedef TemplateSel<T1> Head;
2019 typedef Templates31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2020 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2021 T29, T30, T31, T32>
Tail;
2024 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2025 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2026 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2027 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2028 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2029 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2030 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2031 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2032 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2033 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2034 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33>
2035 struct Templates33 {
2036 typedef TemplateSel<T1> Head;
2037 typedef Templates32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2038 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2039 T29, T30, T31, T32, T33>
Tail;
2042 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2043 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2044 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2045 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2046 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2047 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2048 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2049 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2050 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2051 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2052 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2053 GTEST_TEMPLATE_ T34>
2054 struct Templates34 {
2055 typedef TemplateSel<T1> Head;
2056 typedef Templates33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2057 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2058 T29, T30, T31, T32, T33, T34>
Tail;
2061 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2062 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2063 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2064 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2065 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2066 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2067 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2068 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2069 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2070 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2071 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2072 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35>
2073 struct Templates35 {
2074 typedef TemplateSel<T1> Head;
2075 typedef Templates34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2076 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2077 T29, T30, T31, T32, T33, T34, T35>
Tail;
2080 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2081 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2082 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2083 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2084 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2085 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2086 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2087 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2088 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2089 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2090 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2091 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36>
2092 struct Templates36 {
2093 typedef TemplateSel<T1> Head;
2094 typedef Templates35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2095 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2096 T29, T30, T31, T32, T33, T34, T35, T36>
Tail;
2099 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2100 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2101 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2102 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2103 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2104 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2105 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2106 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2107 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2108 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2109 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2110 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2111 GTEST_TEMPLATE_ T37>
2112 struct Templates37 {
2113 typedef TemplateSel<T1> Head;
2114 typedef Templates36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2115 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2116 T29, T30, T31, T32, T33, T34, T35, T36, T37>
Tail;
2119 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2120 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2121 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2122 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2123 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2124 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2125 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2126 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2127 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2128 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2129 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2130 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2131 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38>
2132 struct Templates38 {
2133 typedef TemplateSel<T1> Head;
2134 typedef Templates37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2135 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2136 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38>
Tail;
2139 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2140 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2141 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2142 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2143 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2144 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2145 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2146 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2147 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2148 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2149 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2150 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2151 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39>
2152 struct Templates39 {
2153 typedef TemplateSel<T1> Head;
2154 typedef Templates38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2155 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2156 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39>
Tail;
2159 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2160 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2161 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2162 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2163 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2164 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2165 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2166 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2167 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2168 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2169 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2170 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2171 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2172 GTEST_TEMPLATE_ T40>
2173 struct Templates40 {
2174 typedef TemplateSel<T1> Head;
2175 typedef Templates39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2176 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2177 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40>
Tail;
2180 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2181 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2182 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2183 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2184 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2185 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2186 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2187 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2188 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2189 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2190 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2191 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2192 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2193 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41>
2194 struct Templates41 {
2195 typedef TemplateSel<T1> Head;
2196 typedef Templates40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2197 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2198 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41>
Tail;
2201 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2202 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2203 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2204 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2205 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2206 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2207 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2208 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2209 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2210 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2211 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2212 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2213 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2214 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42>
2215 struct Templates42 {
2216 typedef TemplateSel<T1> Head;
2217 typedef Templates41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2218 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2219 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
2223 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2224 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2225 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2226 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2227 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2228 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2229 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2230 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2231 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2232 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2233 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2234 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2235 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2236 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2237 GTEST_TEMPLATE_ T43>
2238 struct Templates43 {
2239 typedef TemplateSel<T1> Head;
2240 typedef Templates42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2241 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2242 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2246 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2247 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2248 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2249 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2250 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2251 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2252 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2253 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2254 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2255 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2256 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2257 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2258 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2259 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2260 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44>
2261 struct Templates44 {
2262 typedef TemplateSel<T1> Head;
2263 typedef Templates43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2264 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2265 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2269 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2270 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2271 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2272 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2273 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2274 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2275 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2276 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2277 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2278 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2279 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2280 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2281 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2282 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2283 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45>
2284 struct Templates45 {
2285 typedef TemplateSel<T1> Head;
2286 typedef Templates44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2287 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2288 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2289 T43, T44, T45>
Tail;
2292 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2293 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2294 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2295 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2296 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2297 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2298 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2299 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2300 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2301 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2302 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2303 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2304 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2305 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2306 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2307 GTEST_TEMPLATE_ T46>
2308 struct Templates46 {
2309 typedef TemplateSel<T1> Head;
2310 typedef Templates45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2311 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2312 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2313 T43, T44, T45, T46>
Tail;
2316 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2317 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2318 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2319 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2320 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2321 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2322 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2323 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2324 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2325 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2326 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2327 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2328 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2329 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2330 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2331 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47>
2332 struct Templates47 {
2333 typedef TemplateSel<T1> Head;
2334 typedef Templates46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2335 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2336 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2337 T43, T44, T45, T46, T47>
Tail;
2340 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2341 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2342 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2343 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2344 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2345 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2346 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2347 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2348 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2349 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2350 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2351 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2352 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2353 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2354 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2355 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48>
2356 struct Templates48 {
2357 typedef TemplateSel<T1> Head;
2358 typedef Templates47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2359 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2360 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2361 T43, T44, T45, T46, T47, T48>
Tail;
2364 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2365 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2366 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2367 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2368 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2369 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2370 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2371 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2372 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2373 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2374 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2375 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2376 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2377 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2378 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2379 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
2380 GTEST_TEMPLATE_ T49>
2381 struct Templates49 {
2382 typedef TemplateSel<T1> Head;
2383 typedef Templates48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2384 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2385 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2386 T43, T44, T45, T46, T47, T48, T49>
Tail;
2389 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2390 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2391 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2392 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2393 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2394 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2395 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2396 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2397 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2398 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2399 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2400 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2401 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2402 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2403 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2404 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
2405 GTEST_TEMPLATE_ T49, GTEST_TEMPLATE_ T50>
2406 struct Templates50 {
2407 typedef TemplateSel<T1> Head;
2408 typedef Templates49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2409 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2410 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2411 T43, T44, T45, T46, T47, T48, T49, T50>
Tail;
2428 template <GTEST_TEMPLATE_ T1 = NoneT, GTEST_TEMPLATE_ T2 = NoneT,
2429 GTEST_TEMPLATE_ T3 = NoneT, GTEST_TEMPLATE_ T4 = NoneT,
2430 GTEST_TEMPLATE_ T5 = NoneT, GTEST_TEMPLATE_ T6 = NoneT,
2431 GTEST_TEMPLATE_ T7 = NoneT, GTEST_TEMPLATE_ T8 = NoneT,
2432 GTEST_TEMPLATE_ T9 = NoneT, GTEST_TEMPLATE_ T10 = NoneT,
2433 GTEST_TEMPLATE_ T11 = NoneT, GTEST_TEMPLATE_ T12 = NoneT,
2434 GTEST_TEMPLATE_ T13 = NoneT, GTEST_TEMPLATE_ T14 = NoneT,
2435 GTEST_TEMPLATE_ T15 = NoneT, GTEST_TEMPLATE_ T16 = NoneT,
2436 GTEST_TEMPLATE_ T17 = NoneT, GTEST_TEMPLATE_ T18 = NoneT,
2437 GTEST_TEMPLATE_ T19 = NoneT, GTEST_TEMPLATE_ T20 = NoneT,
2438 GTEST_TEMPLATE_ T21 = NoneT, GTEST_TEMPLATE_ T22 = NoneT,
2439 GTEST_TEMPLATE_ T23 = NoneT, GTEST_TEMPLATE_ T24 = NoneT,
2440 GTEST_TEMPLATE_ T25 = NoneT, GTEST_TEMPLATE_ T26 = NoneT,
2441 GTEST_TEMPLATE_ T27 = NoneT, GTEST_TEMPLATE_ T28 = NoneT,
2442 GTEST_TEMPLATE_ T29 = NoneT, GTEST_TEMPLATE_ T30 = NoneT,
2443 GTEST_TEMPLATE_ T31 = NoneT, GTEST_TEMPLATE_ T32 = NoneT,
2444 GTEST_TEMPLATE_ T33 = NoneT, GTEST_TEMPLATE_ T34 = NoneT,
2445 GTEST_TEMPLATE_ T35 = NoneT, GTEST_TEMPLATE_ T36 = NoneT,
2446 GTEST_TEMPLATE_ T37 = NoneT, GTEST_TEMPLATE_ T38 = NoneT,
2447 GTEST_TEMPLATE_ T39 = NoneT, GTEST_TEMPLATE_ T40 = NoneT,
2448 GTEST_TEMPLATE_ T41 = NoneT, GTEST_TEMPLATE_ T42 = NoneT,
2449 GTEST_TEMPLATE_ T43 = NoneT, GTEST_TEMPLATE_ T44 = NoneT,
2450 GTEST_TEMPLATE_ T45 = NoneT, GTEST_TEMPLATE_ T46 = NoneT,
2451 GTEST_TEMPLATE_ T47 = NoneT, GTEST_TEMPLATE_ T48 = NoneT,
2452 GTEST_TEMPLATE_ T49 = NoneT, GTEST_TEMPLATE_ T50 = NoneT>
2454 typedef Templates50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2455 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2456 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
2457 T42, T43, T44, T45, T46, T47, T48, T49, T50>
type;
2461 struct Templates<NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2462 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2463 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2464 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2465 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2467 typedef Templates0
type;
2469 template <GTEST_TEMPLATE_ T1>
2470 struct Templates<T1, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2471 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2472 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2473 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2474 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2476 typedef Templates1<T1>
type;
2478 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2>
2479 struct Templates<T1, T2, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2480 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2481 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2482 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2483 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2485 typedef Templates2<T1, T2>
type;
2487 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3>
2488 struct Templates<T1, T2, T3, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2489 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2490 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2491 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2492 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2493 typedef Templates3<T1, T2, T3>
type;
2495 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2497 struct Templates<T1, T2, T3, T4, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2498 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2499 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2500 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2501 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2502 typedef Templates4<T1, T2, T3, T4>
type;
2504 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2505 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5>
2506 struct Templates<T1, T2, T3, T4, T5, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2507 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2508 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2509 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2510 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2511 typedef Templates5<T1, T2, T3, T4, T5>
type;
2513 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2514 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6>
2515 struct Templates<T1, T2, T3, T4, T5, T6, NoneT, NoneT, NoneT, NoneT, NoneT,
2516 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2517 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2518 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2519 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2520 typedef Templates6<T1, T2, T3, T4, T5, T6>
type;
2522 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2523 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2525 struct Templates<T1, T2, T3, T4, T5, T6, T7, NoneT, NoneT, NoneT, NoneT, NoneT,
2526 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2527 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2528 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2529 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2530 typedef Templates7<T1, T2, T3, T4, T5, T6, T7>
type;
2532 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2533 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2534 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8>
2535 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, NoneT, NoneT, NoneT, NoneT,
2536 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2537 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2538 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2539 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2540 typedef Templates8<T1, T2, T3, T4, T5, T6, T7, T8>
type;
2542 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2543 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2544 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9>
2545 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, NoneT, NoneT, NoneT,
2546 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2547 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2548 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2549 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2550 typedef Templates9<T1, T2, T3, T4, T5, T6, T7, T8, T9>
type;
2552 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2553 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2554 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2555 GTEST_TEMPLATE_ T10>
2556 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NoneT, NoneT, NoneT,
2557 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2558 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2559 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2560 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2561 typedef Templates10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
type;
2563 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2564 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2565 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2566 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11>
2567 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NoneT, NoneT,
2568 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2569 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2570 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2571 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2572 typedef Templates11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
type;
2574 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2575 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2576 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2577 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12>
2578 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NoneT,
2579 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2580 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2581 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2582 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2583 typedef Templates12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
type;
2585 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2586 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2587 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2588 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2589 GTEST_TEMPLATE_ T13>
2590 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NoneT,
2591 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2592 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2593 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2594 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2595 typedef Templates13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
2598 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2599 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2600 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2601 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2602 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14>
2603 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2604 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2605 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2606 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2607 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2608 typedef Templates14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2611 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2612 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2613 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2614 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2615 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15>
2616 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2617 T15, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2618 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2619 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2620 NoneT, NoneT, NoneT, NoneT, NoneT> {
2621 typedef Templates15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2624 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2625 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2626 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2627 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2628 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2629 GTEST_TEMPLATE_ T16>
2630 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2631 T15, T16, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2632 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2633 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2634 NoneT, NoneT, NoneT, NoneT, NoneT> {
2635 typedef Templates16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2636 T14, T15, T16>
type;
2638 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2639 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2640 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2641 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2642 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2643 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17>
2644 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2645 T15, T16, T17, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2646 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2647 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2648 NoneT, NoneT, NoneT, NoneT, NoneT> {
2649 typedef Templates17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2650 T14, T15, T16, T17>
type;
2652 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2653 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2654 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2655 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2656 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2657 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18>
2658 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2659 T15, T16, T17, T18, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2660 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2661 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2662 NoneT, NoneT, NoneT, NoneT> {
2663 typedef Templates18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2664 T14, T15, T16, T17, T18>
type;
2666 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2667 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2668 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2669 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2670 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2671 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2672 GTEST_TEMPLATE_ T19>
2673 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2674 T15, T16, T17, T18, T19, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2675 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2676 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2677 NoneT, NoneT, NoneT, NoneT> {
2678 typedef Templates19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2679 T14, T15, T16, T17, T18, T19>
type;
2681 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2682 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2683 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2684 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2685 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2686 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2687 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20>
2688 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2689 T15, T16, T17, T18, T19, T20, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2690 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2691 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2692 NoneT, NoneT, NoneT, NoneT> {
2693 typedef Templates20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2694 T14, T15, T16, T17, T18, T19, T20>
type;
2696 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2697 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2698 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2699 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2700 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2701 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2702 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21>
2703 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2704 T15, T16, T17, T18, T19, T20, T21, NoneT, NoneT, NoneT, NoneT, NoneT,
2705 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2706 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2707 NoneT, NoneT, NoneT, NoneT> {
2708 typedef Templates21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2709 T14, T15, T16, T17, T18, T19, T20, T21>
type;
2711 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2712 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2713 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2714 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2715 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2716 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2717 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2718 GTEST_TEMPLATE_ T22>
2719 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2720 T15, T16, T17, T18, T19, T20, T21, T22, NoneT, NoneT, NoneT, NoneT, NoneT,
2721 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2722 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2723 NoneT, NoneT, NoneT> {
2724 typedef Templates22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2725 T14, T15, T16, T17, T18, T19, T20, T21, T22>
type;
2727 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2728 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2729 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2730 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2731 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2732 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2733 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2734 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23>
2735 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2736 T15, T16, T17, T18, T19, T20, T21, T22, T23, NoneT, NoneT, NoneT, NoneT,
2737 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2738 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2739 NoneT, NoneT, NoneT> {
2740 typedef Templates23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2741 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>
type;
2743 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2744 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2745 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2746 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2747 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2748 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2749 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2750 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24>
2751 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2752 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NoneT, NoneT, NoneT,
2753 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2754 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2755 NoneT, NoneT, NoneT> {
2756 typedef Templates24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2757 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>
type;
2759 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2760 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2761 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2762 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2763 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2764 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2765 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2766 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2767 GTEST_TEMPLATE_ T25>
2768 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2769 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NoneT, NoneT, NoneT,
2770 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2771 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2773 typedef Templates25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2774 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>
type;
2776 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2777 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2778 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2779 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2780 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2781 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2782 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2783 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2784 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26>
2785 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2786 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NoneT, NoneT,
2787 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2788 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2790 typedef Templates26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2791 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26>
type;
2793 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2794 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2795 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2796 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2797 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2798 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2799 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2800 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2801 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27>
2802 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2803 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NoneT,
2804 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2805 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2807 typedef Templates27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2808 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
2811 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2812 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2813 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2814 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2815 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2816 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2817 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2818 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2819 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2820 GTEST_TEMPLATE_ T28>
2821 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2822 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2823 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2824 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2826 typedef Templates28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2827 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2830 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2831 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2832 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2833 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2834 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2835 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2836 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2837 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2838 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2839 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29>
2840 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2841 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2842 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2843 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2845 typedef Templates29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2846 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2849 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2850 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2851 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2852 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2853 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2854 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2855 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2856 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2857 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2858 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30>
2859 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2860 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2861 T30, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2862 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2863 typedef Templates30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2864 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2865 T28, T29, T30>
type;
2867 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2868 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2869 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2870 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2871 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2872 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2873 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2874 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2875 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2876 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2877 GTEST_TEMPLATE_ T31>
2878 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2879 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2880 T30, T31, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2881 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2882 typedef Templates31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2883 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2884 T28, T29, T30, T31>
type;
2886 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2887 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2888 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2889 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2890 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2891 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2892 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2893 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2894 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2895 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2896 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32>
2897 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2898 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2899 T30, T31, T32, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2900 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2901 typedef Templates32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2902 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2903 T28, T29, T30, T31, T32>
type;
2905 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2906 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2907 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2908 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2909 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2910 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2911 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2912 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2913 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2914 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2915 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33>
2916 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2917 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2918 T30, T31, T32, T33, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2919 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2920 typedef Templates33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2921 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2922 T28, T29, T30, T31, T32, T33>
type;
2924 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2925 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2926 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2927 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2928 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2929 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2930 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2931 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2932 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2933 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2934 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2935 GTEST_TEMPLATE_ T34>
2936 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2937 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2938 T30, T31, T32, T33, T34, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2939 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2940 typedef Templates34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2941 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2942 T28, T29, T30, T31, T32, T33, T34>
type;
2944 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2945 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2946 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2947 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2948 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2949 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2950 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2951 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2952 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2953 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2954 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2955 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35>
2956 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2957 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2958 T30, T31, T32, T33, T34, T35, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2959 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2960 typedef Templates35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2961 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2962 T28, T29, T30, T31, T32, T33, T34, T35>
type;
2964 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2965 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2966 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2967 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2968 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2969 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2970 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2971 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2972 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2973 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2974 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2975 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36>
2976 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2977 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2978 T30, T31, T32, T33, T34, T35, T36, NoneT, NoneT, NoneT, NoneT, NoneT,
2979 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2980 typedef Templates36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2981 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2982 T28, T29, T30, T31, T32, T33, T34, T35, T36>
type;
2984 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2985 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2986 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2987 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2988 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2989 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2990 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2991 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2992 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2993 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2994 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2995 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2996 GTEST_TEMPLATE_ T37>
2997 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2998 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2999 T30, T31, T32, T33, T34, T35, T36, T37, NoneT, NoneT, NoneT, NoneT, NoneT,
3000 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3001 typedef Templates37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3002 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3003 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37>
type;
3005 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3006 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3007 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3008 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3009 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3010 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3011 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3012 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3013 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3014 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3015 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3016 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3017 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38>
3018 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3019 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3020 T30, T31, T32, T33, T34, T35, T36, T37, T38, NoneT, NoneT, NoneT, NoneT,
3021 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3022 typedef Templates38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3023 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3024 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38>
type;
3026 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3027 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3028 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3029 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3030 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3031 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3032 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3033 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3034 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3035 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3036 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3037 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3038 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39>
3039 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3040 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3041 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, NoneT, NoneT, NoneT,
3042 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3043 typedef Templates39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3044 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3045 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39>
type;
3047 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3048 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3049 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3050 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3051 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3052 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3053 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3054 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3055 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3056 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3057 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3058 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3059 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3060 GTEST_TEMPLATE_ T40>
3061 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3062 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3063 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, NoneT, NoneT, NoneT,
3064 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3065 typedef Templates40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3066 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3067 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40>
type;
3069 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3070 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3071 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3072 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3073 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3074 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3075 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3076 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3077 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3078 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3079 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3080 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3081 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3082 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41>
3083 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3084 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3085 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, NoneT, NoneT,
3086 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3087 typedef Templates41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3088 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3089 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
3092 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3093 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3094 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3095 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3096 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3097 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3098 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3099 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3100 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3101 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3102 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3103 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3104 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3105 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42>
3106 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3107 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3108 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, NoneT,
3109 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3110 typedef Templates42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3111 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3112 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3115 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3116 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3117 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3118 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3119 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3120 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3121 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3122 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3123 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3124 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3125 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3126 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3127 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3128 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3129 GTEST_TEMPLATE_ T43>
3130 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3131 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3132 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
3133 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3134 typedef Templates43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3135 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3136 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3139 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3140 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3141 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3142 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3143 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3144 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3145 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3146 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3147 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3148 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3149 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3150 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3151 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3152 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3153 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44>
3154 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3155 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3156 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3157 NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3158 typedef Templates44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3159 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3160 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3161 T42, T43, T44>
type;
3163 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3164 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3165 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3166 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3167 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3168 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3169 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3170 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3171 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3172 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3173 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3174 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3175 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3176 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3177 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45>
3178 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3179 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3180 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3181 T45, NoneT, NoneT, NoneT, NoneT, NoneT> {
3182 typedef Templates45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3183 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3184 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3185 T42, T43, T44, T45>
type;
3187 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3188 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3189 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3190 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3191 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3192 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3193 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3194 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3195 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3196 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3197 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3198 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3199 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3200 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3201 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3202 GTEST_TEMPLATE_ T46>
3203 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3204 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3205 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3206 T45, T46, NoneT, NoneT, NoneT, NoneT> {
3207 typedef Templates46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3208 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3209 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3210 T42, T43, T44, T45, T46>
type;
3212 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3213 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3214 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3215 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3216 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3217 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3218 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3219 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3220 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3221 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3222 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3223 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3224 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3225 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3226 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3227 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47>
3228 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3229 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3230 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3231 T45, T46, T47, NoneT, NoneT, NoneT> {
3232 typedef Templates47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3233 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3234 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3235 T42, T43, T44, T45, T46, T47>
type;
3237 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3238 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3239 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3240 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3241 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3242 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3243 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3244 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3245 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3246 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3247 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3248 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3249 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3250 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3251 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3252 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48>
3253 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3254 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3255 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3256 T45, T46, T47, T48, NoneT, NoneT> {
3257 typedef Templates48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3258 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3259 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3260 T42, T43, T44, T45, T46, T47, T48>
type;
3262 template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3263 GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3264 GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3265 GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3266 GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3267 GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3268 GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3269 GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3270 GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3271 GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3272 GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3273 GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3274 GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3275 GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3276 GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3277 GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
3278 GTEST_TEMPLATE_ T49>
3279 struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3280 T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3281 T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3282 T45, T46, T47, T48, T49, NoneT> {
3283 typedef Templates49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3284 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3285 T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3286 T42, T43, T44, T45, T46, T47, T48, T49>
type;
3293 template <
typename T>
3294 struct TypeList {
typedef Types1<T>
type; };
3296 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
3297 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
3298 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
3299 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
3300 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
3301 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
3302 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
3303 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
3304 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
3305 typename T46,
typename T47,
typename T48,
typename T49,
typename T50>
3306 struct TypeList<Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3307 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
3308 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
3309 T44, T45, T46, T47, T48, T49, T50> > {
3310 typedef typename Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
3311 T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
3312 T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
3313 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50>
::type type;
3319 #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P 3321 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ Definition: testutils.h:40
Definition: PropertySlot.h:41
TestSubObjConstructor T
Definition: TestTypedefs.idl:84
EGLImageKHR EGLint * name
Definition: eglext.h:851
EGLenum type
Definition: eglext.h:63
Definition: document.h:393
MethodFunctor< ObjectT, FP_T(NONAME), R, Args... > Bind(FP_T(method), ObjectT *object, typename detail::identity< Args >::type... args)
Definition: bind.h:222
#define free
Definition: mbmalloc.h:50
#define T(a)
Definition: row_common.cc:1964