39 #ifndef GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ 40 #define GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ 56 class FooTest :
public ::testing::TestWithParam<const char*> {
64 TEST_P(FooTest, DoesBlah) {
71 TEST_P(FooTest, HasBlahBlah) {
101 Values(
"meeny",
"miny",
"moe"));
122 const char* pets[] = {
"cat",
"dog"};
154 #if !GTEST_OS_SYMBIAN 165 #if GTEST_HAS_PARAM_TEST 211 template <
typename T,
typename IncrementT>
213 return internal::ParamGenerator<T>(
214 new internal::RangeGenerator<T, IncrementT>(
start,
end, step));
217 template <
typename T>
219 return Range(start, end, 1);
277 template <
typename ForwardIterator>
278 internal::ParamGenerator<
279 typename ::std::iterator_traits<ForwardIterator>::value_type> ValuesIn(
280 ForwardIterator begin,
281 ForwardIterator
end) {
282 typedef typename ::std::iterator_traits<ForwardIterator>::value_type
284 return internal::ParamGenerator<ParamType>(
285 new internal::ValuesInIteratorRangeGenerator<ParamType>(begin,
end));
288 template <
typename T,
size_t N>
289 internal::ParamGenerator<T> ValuesIn(
const T (&
array)[
N]) {
293 template <
class Container>
294 internal::ParamGenerator<typename Container::value_type> ValuesIn(
295 const Container& container) {
296 return ValuesIn(container.begin(), container.end());
318 template <
typename T1>
319 internal::ValueArray1<T1> Values(T1
v1) {
320 return internal::ValueArray1<T1>(
v1);
323 template <
typename T1,
typename T2>
324 internal::ValueArray2<T1, T2> Values(T1
v1, T2
v2) {
325 return internal::ValueArray2<T1, T2>(
v1,
v2);
328 template <
typename T1,
typename T2,
typename T3>
329 internal::ValueArray3<T1, T2, T3> Values(T1
v1, T2
v2, T3
v3) {
330 return internal::ValueArray3<T1, T2, T3>(
v1,
v2,
v3);
333 template <
typename T1,
typename T2,
typename T3,
typename T4>
334 internal::ValueArray4<T1, T2, T3, T4> Values(T1
v1, T2
v2, T3
v3, T4 v4) {
335 return internal::ValueArray4<T1, T2, T3, T4>(
v1,
v2,
v3, v4);
338 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
339 internal::ValueArray5<T1, T2, T3, T4, T5> Values(T1
v1, T2
v2, T3
v3, T4 v4,
341 return internal::ValueArray5<T1, T2, T3, T4, T5>(
v1,
v2,
v3, v4, v5);
344 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
346 internal::ValueArray6<T1, T2, T3, T4, T5, T6> Values(T1
v1, T2
v2, T3
v3,
347 T4 v4, T5 v5, T6 v6) {
348 return internal::ValueArray6<T1, T2, T3, T4, T5, T6>(
v1,
v2,
v3, v4, v5, v6);
351 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
352 typename T6,
typename T7>
353 internal::ValueArray7<T1, T2, T3, T4, T5, T6, T7> Values(T1
v1, T2
v2, T3
v3,
354 T4 v4, T5 v5, T6 v6, T7 v7) {
355 return internal::ValueArray7<T1, T2, T3, T4, T5, T6, T7>(
v1,
v2,
v3, v4, v5,
359 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
360 typename T6,
typename T7,
typename T8>
361 internal::ValueArray8<T1, T2, T3, T4, T5, T6, T7, T8> Values(T1
v1, T2
v2,
362 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8) {
363 return internal::ValueArray8<T1, T2, T3, T4, T5, T6, T7, T8>(
v1,
v2,
v3, v4,
367 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
368 typename T6,
typename T7,
typename T8,
typename T9>
369 internal::ValueArray9<T1, T2, T3, T4, T5, T6, T7, T8, T9> Values(T1
v1, T2
v2,
370 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9) {
371 return internal::ValueArray9<T1, T2, T3, T4, T5, T6, T7, T8, T9>(
v1,
v2,
v3,
372 v4, v5, v6, v7, v8, v9);
375 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
376 typename T6,
typename T7,
typename T8,
typename T9,
typename T10>
377 internal::ValueArray10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Values(T1
v1,
378 T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10) {
379 return internal::ValueArray10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(
v1,
380 v2,
v3, v4, v5, v6, v7, v8, v9, v10);
383 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
384 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
386 internal::ValueArray11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
387 T11> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
389 return internal::ValueArray11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
390 T11>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11);
393 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
394 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
395 typename T11,
typename T12>
396 internal::ValueArray12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
397 T12> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
398 T10 v10, T11 v11, T12 v12) {
399 return internal::ValueArray12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
400 T12>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12);
403 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
404 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
405 typename T11,
typename T12,
typename T13>
406 internal::ValueArray13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
407 T13> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
408 T10 v10, T11 v11, T12 v12, T13 v13) {
409 return internal::ValueArray13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
410 T12, T13>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13);
413 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
414 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
415 typename T11,
typename T12,
typename T13,
typename T14>
416 internal::ValueArray14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
417 T14> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
418 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) {
419 return internal::ValueArray14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
420 T12, T13, T14>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
424 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
425 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
426 typename T11,
typename T12,
typename T13,
typename T14,
typename T15>
427 internal::ValueArray15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
428 T14, T15> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8,
429 T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) {
430 return internal::ValueArray15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
431 T12, T13, T14, T15>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12,
435 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
436 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
437 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
439 internal::ValueArray16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
440 T14, T15, T16> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
441 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
443 return internal::ValueArray16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
444 T12, T13, T14, T15, T16>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11,
445 v12, v13, v14, v15, v16);
448 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
449 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
450 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
451 typename T16,
typename T17>
452 internal::ValueArray17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
453 T14, T15, T16, T17> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
454 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
456 return internal::ValueArray17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
457 T12, T13, T14, T15, T16, T17>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10,
458 v11, v12, v13, v14, v15, v16, v17);
461 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
462 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
463 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
464 typename T16,
typename T17,
typename T18>
465 internal::ValueArray18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
466 T14, T15, T16, T17, T18> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6,
467 T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
468 T16 v16, T17 v17, T18 v18) {
469 return internal::ValueArray18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
470 T12, T13, T14, T15, T16, T17, T18>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9,
471 v10, v11, v12, v13, v14, v15, v16, v17, v18);
474 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
475 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
476 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
477 typename T16,
typename T17,
typename T18,
typename T19>
478 internal::ValueArray19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
479 T14, T15, T16, T17, T18, T19> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5,
480 T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14,
481 T15 v15, T16 v16, T17 v17, T18 v18, T19 v19) {
482 return internal::ValueArray19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
483 T12, T13, T14, T15, T16, T17, T18, T19>(
v1,
v2,
v3, v4, v5, v6, v7, v8,
484 v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19);
487 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
488 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
489 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
490 typename T16,
typename T17,
typename T18,
typename T19,
typename T20>
491 internal::ValueArray20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
492 T14, T15, T16, T17, T18, T19, T20> Values(T1
v1, T2
v2, T3
v3, T4 v4,
493 T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13,
494 T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20) {
495 return internal::ValueArray20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
496 T12, T13, T14, T15, T16, T17, T18, T19, T20>(
v1,
v2,
v3, v4, v5, v6, v7,
497 v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20);
500 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
501 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
502 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
503 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
505 internal::ValueArray21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
506 T14, T15, T16, T17, T18, T19, T20, T21> Values(T1
v1, T2
v2, T3
v3, T4 v4,
507 T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13,
508 T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21) {
509 return internal::ValueArray21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
510 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>(
v1,
v2,
v3, v4, v5, v6,
511 v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21);
514 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
515 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
516 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
517 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
518 typename T21,
typename T22>
519 internal::ValueArray22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
520 T14, T15, T16, T17, T18, T19, T20, T21, T22> Values(T1
v1, T2
v2, T3
v3,
521 T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
522 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
524 return internal::ValueArray22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
525 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>(
v1,
v2,
v3, v4,
526 v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19,
530 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
531 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
532 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
533 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
534 typename T21,
typename T22,
typename T23>
535 internal::ValueArray23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
536 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> Values(T1
v1, T2
v2,
537 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
538 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
539 T21 v21, T22 v22, T23 v23) {
540 return internal::ValueArray23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
541 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>(
v1,
v2,
v3,
542 v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19,
546 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
547 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
548 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
549 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
550 typename T21,
typename T22,
typename T23,
typename T24>
551 internal::ValueArray24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
552 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> Values(T1
v1, T2
v2,
553 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
554 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
555 T21 v21, T22 v22, T23 v23, T24 v24) {
556 return internal::ValueArray24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
557 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>(
v1,
v2,
558 v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18,
559 v19, v20, v21, v22, v23, v24);
562 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
563 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
564 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
565 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
566 typename T21,
typename T22,
typename T23,
typename T24,
typename T25>
567 internal::ValueArray25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
568 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Values(T1
v1,
569 T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11,
570 T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19,
571 T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25) {
572 return internal::ValueArray25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
573 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25>(
v1,
574 v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17,
575 v18, v19, v20, v21, v22, v23, v24, v25);
578 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
579 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
580 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
581 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
582 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
584 internal::ValueArray26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
585 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
586 T26> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
587 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
588 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
590 return internal::ValueArray26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
591 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
592 T26>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15,
593 v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26);
596 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
597 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
598 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
599 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
600 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
601 typename T26,
typename T27>
602 internal::ValueArray27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
603 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
604 T27> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
605 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
606 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
608 return internal::ValueArray27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
609 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
610 T26, T27>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14,
611 v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27);
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>
620 internal::ValueArray28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
621 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
622 T28> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
623 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
624 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
625 T26 v26, T27 v27, T28 v28) {
626 return internal::ValueArray28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
627 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
628 T26, T27, T28>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
629 v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27,
633 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
634 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
635 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
636 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
637 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
638 typename T26,
typename T27,
typename T28,
typename T29>
639 internal::ValueArray29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
640 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
641 T29> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
642 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
643 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
644 T26 v26, T27 v27, T28 v28, T29 v29) {
645 return internal::ValueArray29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
646 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
647 T26, T27, T28, T29>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12,
648 v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
652 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
653 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
654 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
655 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
656 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
657 typename T26,
typename T27,
typename T28,
typename T29,
typename T30>
658 internal::ValueArray30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
659 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
660 T29, T30> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8,
661 T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16,
662 T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24,
663 T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) {
664 return internal::ValueArray30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
665 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
666 T26, T27, T28, T29, T30>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11,
667 v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25,
668 v26, v27, v28, v29, v30);
671 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
672 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
673 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
674 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
675 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
676 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
678 internal::ValueArray31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
679 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
680 T29, T30, T31> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
681 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
682 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
683 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) {
684 return internal::ValueArray31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
685 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
686 T26, T27, T28, T29, T30, T31>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10,
687 v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24,
688 v25, v26, v27, v28, v29, v30, v31);
691 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
692 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
693 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
694 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
695 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
696 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
697 typename T31,
typename T32>
698 internal::ValueArray32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
699 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
700 T29, T30, T31, T32> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
701 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
702 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
703 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31,
705 return internal::ValueArray32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
706 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
707 T26, T27, T28, T29, T30, T31, T32>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9,
708 v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23,
709 v24, v25, v26, v27, v28, v29, v30, v31, v32);
712 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
713 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
714 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
715 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
716 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
717 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
718 typename T31,
typename T32,
typename T33>
719 internal::ValueArray33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
720 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
721 T29, T30, T31, T32, T33> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6,
722 T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
723 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
724 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31,
726 return internal::ValueArray33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
727 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
728 T26, T27, T28, T29, T30, T31, T32, T33>(
v1,
v2,
v3, v4, v5, v6, v7, v8,
729 v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23,
730 v24, v25, v26, v27, v28, v29, v30, v31, v32, v33);
733 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
734 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
735 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
736 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
737 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
738 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
739 typename T31,
typename T32,
typename T33,
typename T34>
740 internal::ValueArray34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
741 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
742 T29, T30, T31, T32, T33, T34> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5,
743 T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14,
744 T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22,
745 T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30,
746 T31 v31, T32 v32, T33 v33, T34 v34) {
747 return internal::ValueArray34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
748 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
749 T26, T27, T28, T29, T30, T31, T32, T33, T34>(
v1,
v2,
v3, v4, v5, v6, v7,
750 v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22,
751 v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34);
754 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
755 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
756 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
757 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
758 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
759 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
760 typename T31,
typename T32,
typename T33,
typename T34,
typename T35>
761 internal::ValueArray35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
762 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
763 T29, T30, T31, T32, T33, T34, T35> Values(T1
v1, T2
v2, T3
v3, T4 v4,
764 T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13,
765 T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21,
766 T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29,
767 T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35) {
768 return internal::ValueArray35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
769 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
770 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35>(
v1,
v2,
v3, v4, v5, v6,
771 v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21,
772 v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35);
775 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
776 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
777 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
778 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
779 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
780 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
781 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
783 internal::ValueArray36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
784 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
785 T29, T30, T31, T32, T33, T34, T35, T36> Values(T1
v1, T2
v2, T3
v3, T4 v4,
786 T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13,
787 T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21,
788 T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29,
789 T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36) {
790 return internal::ValueArray36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
791 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
792 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36>(
v1,
v2,
v3, v4,
793 v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19,
794 v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33,
798 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
799 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
800 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
801 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
802 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
803 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
804 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
805 typename T36,
typename T37>
806 internal::ValueArray37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
807 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
808 T29, T30, T31, T32, T33, T34, T35, T36, T37> Values(T1
v1, T2
v2, T3
v3,
809 T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
810 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
811 T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28,
812 T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36,
814 return internal::ValueArray37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
815 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
816 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37>(
v1,
v2,
v3,
817 v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19,
818 v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33,
822 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
823 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
824 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
825 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
826 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
827 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
828 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
829 typename T36,
typename T37,
typename T38>
830 internal::ValueArray38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
831 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
832 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> Values(T1
v1, T2
v2,
833 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
834 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
835 T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28,
836 T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36,
838 return internal::ValueArray38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
839 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
840 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38>(
v1,
v2,
841 v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18,
842 v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32,
843 v33, v34, v35, v36, v37, v38);
846 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
847 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
848 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
849 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
850 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
851 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
852 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
853 typename T36,
typename T37,
typename T38,
typename T39>
854 internal::ValueArray39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
855 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
856 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> Values(T1
v1, T2
v2,
857 T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12,
858 T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20,
859 T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28,
860 T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36,
861 T37 v37, T38 v38, T39 v39) {
862 return internal::ValueArray39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
863 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
864 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39>(
v1,
865 v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17,
866 v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31,
867 v32, v33, v34, v35, v36, v37, v38, v39);
870 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
871 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
872 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
873 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
874 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
875 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
876 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
877 typename T36,
typename T37,
typename T38,
typename T39,
typename T40>
878 internal::ValueArray40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
879 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
880 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> Values(T1
v1,
881 T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11,
882 T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19,
883 T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27,
884 T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35,
885 T36 v36, T37 v37, T38 v38, T39 v39, T40 v40) {
886 return internal::ValueArray40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
887 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
888 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
889 T40>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15,
890 v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29,
891 v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40);
894 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
895 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
896 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
897 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
898 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
899 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
900 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
901 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
903 internal::ValueArray41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
904 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
905 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
906 T41> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
907 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
908 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
909 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
910 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41) {
911 return internal::ValueArray41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
912 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
913 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
914 T40, T41>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14,
915 v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28,
916 v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41);
919 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
920 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
921 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
922 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
923 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
924 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
925 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
926 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
927 typename T41,
typename T42>
928 internal::ValueArray42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
929 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
930 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
931 T42> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
932 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
933 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
934 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
935 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41,
937 return internal::ValueArray42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
938 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
939 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
940 T40, T41, T42>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13,
941 v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27,
942 v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41,
946 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
947 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
948 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
949 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
950 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
951 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
952 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
953 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
954 typename T41,
typename T42,
typename T43>
955 internal::ValueArray43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
956 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
957 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
958 T43> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
959 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
960 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
961 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
962 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41,
964 return internal::ValueArray43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
965 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
966 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
967 T40, T41, T42, T43>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11, v12,
968 v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
969 v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40,
973 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
974 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
975 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
976 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
977 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
978 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
979 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
980 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
981 typename T41,
typename T42,
typename T43,
typename T44>
982 internal::ValueArray44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
983 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
984 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
985 T44> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
986 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
987 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
988 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
989 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41,
990 T42 v42, T43 v43, T44 v44) {
991 return internal::ValueArray44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
992 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
993 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
994 T40, T41, T42, T43, T44>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10, v11,
995 v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25,
996 v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39,
997 v40, v41, v42, v43, v44);
1000 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1001 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1002 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1003 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1004 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1005 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1006 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1007 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1008 typename T41,
typename T42,
typename T43,
typename T44,
typename T45>
1009 internal::ValueArray45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1010 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1011 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1012 T44, T45> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8,
1013 T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16,
1014 T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24,
1015 T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32,
1016 T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40,
1017 T41 v41, T42 v42, T43 v43, T44 v44, T45 v45) {
1018 return internal::ValueArray45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1019 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1020 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1021 T40, T41, T42, T43, T44, T45>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9, v10,
1022 v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24,
1023 v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38,
1024 v39, v40, v41, v42, v43, v44, v45);
1027 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1028 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1029 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1030 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1031 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1032 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1033 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1034 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1035 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1037 internal::ValueArray46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1038 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1039 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1040 T44, T45, T46> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
1041 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
1042 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
1043 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31,
1044 T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39,
1045 T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46) {
1046 return internal::ValueArray46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1047 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1048 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1049 T40, T41, T42, T43, T44, T45, T46>(
v1,
v2,
v3, v4, v5, v6, v7, v8, v9,
1050 v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23,
1051 v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37,
1052 v38, v39, v40, v41, v42, v43, v44, v45, v46);
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,
typename T20,
1059 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1060 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1061 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1062 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1063 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1064 typename T46,
typename T47>
1065 internal::ValueArray47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1066 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1067 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1068 T44, T45, T46, T47> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6, T7 v7,
1069 T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
1070 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
1071 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31,
1072 T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39,
1073 T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47) {
1074 return internal::ValueArray47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1075 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1076 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1077 T40, T41, T42, T43, T44, T45, T46, T47>(
v1,
v2,
v3, v4, v5, v6, v7, v8,
1078 v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23,
1079 v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37,
1080 v38, v39, v40, v41, v42, v43, v44, v45, v46, v47);
1083 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1084 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1085 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1086 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1087 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1088 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1089 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1090 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1091 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1092 typename T46,
typename T47,
typename T48>
1093 internal::ValueArray48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1094 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1095 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1096 T44, T45, T46, T47, T48> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5, T6 v6,
1097 T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15,
1098 T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23,
1099 T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31,
1100 T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39,
1101 T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47,
1103 return internal::ValueArray48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1104 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1105 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1106 T40, T41, T42, T43, T44, T45, T46, T47, T48>(
v1,
v2,
v3, v4, v5, v6, v7,
1107 v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22,
1108 v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36,
1109 v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48);
1112 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1113 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1114 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1115 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1116 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1117 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1118 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1119 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1120 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1121 typename T46,
typename T47,
typename T48,
typename T49>
1122 internal::ValueArray49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1123 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1124 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1125 T44, T45, T46, T47, T48, T49> Values(T1
v1, T2
v2, T3
v3, T4 v4, T5 v5,
1126 T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13, T14 v14,
1127 T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21, T22 v22,
1128 T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29, T30 v30,
1129 T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37, T38 v38,
1130 T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45, T46 v46,
1131 T47 v47, T48 v48, T49 v49) {
1132 return internal::ValueArray49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1133 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1134 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1135 T40, T41, T42, T43, T44, T45, T46, T47, T48, T49>(
v1,
v2,
v3, v4, v5, v6,
1136 v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21,
1137 v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35,
1138 v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49);
1141 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
1142 typename T6,
typename T7,
typename T8,
typename T9,
typename T10,
1143 typename T11,
typename T12,
typename T13,
typename T14,
typename T15,
1144 typename T16,
typename T17,
typename T18,
typename T19,
typename T20,
1145 typename T21,
typename T22,
typename T23,
typename T24,
typename T25,
1146 typename T26,
typename T27,
typename T28,
typename T29,
typename T30,
1147 typename T31,
typename T32,
typename T33,
typename T34,
typename T35,
1148 typename T36,
typename T37,
typename T38,
typename T39,
typename T40,
1149 typename T41,
typename T42,
typename T43,
typename T44,
typename T45,
1150 typename T46,
typename T47,
typename T48,
typename T49,
typename T50>
1151 internal::ValueArray50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1152 T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1153 T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1154 T44, T45, T46, T47, T48, T49, T50> Values(T1
v1, T2
v2, T3
v3, T4 v4,
1155 T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10, T11 v11, T12 v12, T13 v13,
1156 T14 v14, T15 v15, T16 v16, T17 v17, T18 v18, T19 v19, T20 v20, T21 v21,
1157 T22 v22, T23 v23, T24 v24, T25 v25, T26 v26, T27 v27, T28 v28, T29 v29,
1158 T30 v30, T31 v31, T32 v32, T33 v33, T34 v34, T35 v35, T36 v36, T37 v37,
1159 T38 v38, T39 v39, T40 v40, T41 v41, T42 v42, T43 v43, T44 v44, T45 v45,
1160 T46 v46, T47 v47, T48 v48, T49 v49, T50 v50) {
1161 return internal::ValueArray50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
1162 T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1163 T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1164 T40, T41, T42, T43, T44, T45, T46, T47, T48, T49, T50>(
v1,
v2,
v3, v4,
1165 v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19,
1166 v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33,
1167 v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47,
1191 inline internal::ParamGenerator<bool>
Bool() {
1192 return Values(
false,
true);
1195 #if GTEST_HAS_COMBINE 1244 template <
typename Generator1,
typename Generator2>
1245 internal::CartesianProductHolder2<Generator1, Generator2> Combine(
1246 const Generator1& g1,
const Generator2& g2) {
1247 return internal::CartesianProductHolder2<Generator1, Generator2>(
1251 template <
typename Generator1,
typename Generator2,
typename Generator3>
1252 internal::CartesianProductHolder3<Generator1, Generator2, Generator3> Combine(
1253 const Generator1& g1,
const Generator2& g2,
const Generator3& g3) {
1254 return internal::CartesianProductHolder3<Generator1, Generator2, Generator3>(
1258 template <
typename Generator1,
typename Generator2,
typename Generator3,
1259 typename Generator4>
1260 internal::CartesianProductHolder4<Generator1, Generator2, Generator3,
1261 Generator4> Combine(
1262 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1263 const Generator4& g4) {
1264 return internal::CartesianProductHolder4<Generator1, Generator2, Generator3,
1269 template <
typename Generator1,
typename Generator2,
typename Generator3,
1270 typename Generator4,
typename Generator5>
1271 internal::CartesianProductHolder5<Generator1, Generator2, Generator3,
1272 Generator4, Generator5> Combine(
1273 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1274 const Generator4& g4,
const Generator5& g5) {
1275 return internal::CartesianProductHolder5<Generator1, Generator2, Generator3,
1276 Generator4, Generator5>(
1277 g1, g2, g3, g4, g5);
1280 template <
typename Generator1,
typename Generator2,
typename Generator3,
1281 typename Generator4,
typename Generator5,
typename Generator6>
1282 internal::CartesianProductHolder6<Generator1, Generator2, Generator3,
1283 Generator4, Generator5, Generator6> Combine(
1284 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1285 const Generator4& g4,
const Generator5& g5,
const Generator6& g6) {
1286 return internal::CartesianProductHolder6<Generator1, Generator2, Generator3,
1287 Generator4, Generator5, Generator6>(
1288 g1, g2, g3, g4, g5, g6);
1291 template <
typename Generator1,
typename Generator2,
typename Generator3,
1292 typename Generator4,
typename Generator5,
typename Generator6,
1293 typename Generator7>
1294 internal::CartesianProductHolder7<Generator1, Generator2, Generator3,
1295 Generator4, Generator5, Generator6, Generator7> Combine(
1296 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1297 const Generator4& g4,
const Generator5& g5,
const Generator6& g6,
1298 const Generator7& g7) {
1299 return internal::CartesianProductHolder7<Generator1, Generator2, Generator3,
1300 Generator4, Generator5, Generator6, Generator7>(
1301 g1, g2, g3, g4, g5, g6, g7);
1304 template <
typename Generator1,
typename Generator2,
typename Generator3,
1305 typename Generator4,
typename Generator5,
typename Generator6,
1306 typename Generator7,
typename Generator8>
1307 internal::CartesianProductHolder8<Generator1, Generator2, Generator3,
1308 Generator4, Generator5, Generator6, Generator7, Generator8> Combine(
1309 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1310 const Generator4& g4,
const Generator5& g5,
const Generator6& g6,
1311 const Generator7& g7,
const Generator8& g8) {
1312 return internal::CartesianProductHolder8<Generator1, Generator2, Generator3,
1313 Generator4, Generator5, Generator6, Generator7, Generator8>(
1314 g1, g2, g3, g4, g5, g6, g7, g8);
1317 template <
typename Generator1,
typename Generator2,
typename Generator3,
1318 typename Generator4,
typename Generator5,
typename Generator6,
1319 typename Generator7,
typename Generator8,
typename Generator9>
1320 internal::CartesianProductHolder9<Generator1, Generator2, Generator3,
1321 Generator4, Generator5, Generator6, Generator7, Generator8,
1322 Generator9> Combine(
1323 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1324 const Generator4& g4,
const Generator5& g5,
const Generator6& g6,
1325 const Generator7& g7,
const Generator8& g8,
const Generator9& g9) {
1326 return internal::CartesianProductHolder9<Generator1, Generator2, Generator3,
1327 Generator4, Generator5, Generator6, Generator7, Generator8, Generator9>(
1328 g1, g2, g3, g4, g5, g6, g7, g8, g9);
1331 template <
typename Generator1,
typename Generator2,
typename Generator3,
1332 typename Generator4,
typename Generator5,
typename Generator6,
1333 typename Generator7,
typename Generator8,
typename Generator9,
1334 typename Generator10>
1335 internal::CartesianProductHolder10<Generator1, Generator2, Generator3,
1336 Generator4, Generator5, Generator6, Generator7, Generator8, Generator9,
1337 Generator10> Combine(
1338 const Generator1& g1,
const Generator2& g2,
const Generator3& g3,
1339 const Generator4& g4,
const Generator5& g5,
const Generator6& g6,
1340 const Generator7& g7,
const Generator8& g8,
const Generator9& g9,
1341 const Generator10& g10) {
1342 return internal::CartesianProductHolder10<Generator1, Generator2, Generator3,
1343 Generator4, Generator5, Generator6, Generator7, Generator8, Generator9,
1345 g1, g2, g3, g4, g5, g6, g7, g8, g9, g10);
1347 #endif // GTEST_HAS_COMBINE 1351 #define TEST_P(test_case_name, test_name) \ 1352 class GTEST_TEST_CLASS_NAME_(test_case_name, test_name) \ 1353 : public test_case_name { \ 1355 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)() {} \ 1356 virtual void TestBody(); \ 1358 static int AddToRegistry() { \ 1359 ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ 1360 GetTestCasePatternHolder<test_case_name>(\ 1361 #test_case_name, __FILE__, __LINE__)->AddTestPattern(\ 1364 new ::testing::internal::TestMetaFactory< \ 1365 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)>()); \ 1368 static int gtest_registering_dummy_; \ 1369 GTEST_DISALLOW_COPY_AND_ASSIGN_(\ 1370 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)); \ 1372 int GTEST_TEST_CLASS_NAME_(test_case_name, \ 1373 test_name)::gtest_registering_dummy_ = \ 1374 GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::AddToRegistry(); \ 1375 void GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::TestBody() 1377 #define INSTANTIATE_TEST_CASE_P(prefix, test_case_name, generator) \ 1378 ::testing::internal::ParamGenerator<test_case_name::ParamType> \ 1379 gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \ 1380 int gtest_##prefix##test_case_name##_dummy_ = \ 1381 ::testing::UnitTest::GetInstance()->parameterized_test_registry(). \ 1382 GetTestCasePatternHolder<test_case_name>(\ 1383 #test_case_name, __FILE__, __LINE__)->AddTestCaseInstantiation(\ 1385 >est_##prefix##test_case_name##_EvalGenerator_, \ 1390 #endif // GTEST_HAS_PARAM_TEST 1392 #endif // GTEST_INCLUDE_GTEST_GTEST_PARAM_TEST_H_ Definition: testutils.h:40
GLuint GLuint end
Definition: gl2ext.h:323
CFArrayRef array
Definition: AVFoundationCFSoftLinking.h:129
TEST_P(FragDepthTest, CompileFailsESSL100)
Definition: FragDepth_test.cpp:68
GLuint start
Definition: gl2ext.h:323
TestSubObjConstructor T
Definition: TestTypedefs.idl:84
Definition: gtest_pred_impl_unittest.cc:56
#define N
Definition: gcc-loops.cpp:14
#define EXPECT_TRUE(condition)
Definition: gtest.h:1696
GLfloat GLfloat GLfloat v2
Definition: gl2.h:500
Definition: gtest_output_test_.cc:628
GLfloat GLfloat GLfloat GLfloat v3
Definition: gl2.h:504
INSTANTIATE_TEST_CASE_P(FragDepthTests, FragDepthTest, testing::Values(false, true))
GLfloat GLfloat v1
Definition: gl2.h:496