1// This file was GENERATED by command: 2// pump.py gtest-param-util-generated.h.pump 3// DO NOT EDIT BY HAND!!! 4 5// Copyright 2008 Google Inc. 6// All Rights Reserved. 7// 8// Redistribution and use in source and binary forms, with or without 9// modification, are permitted provided that the following conditions are 10// met: 11// 12// * Redistributions of source code must retain the above copyright 13// notice, this list of conditions and the following disclaimer. 14// * Redistributions in binary form must reproduce the above 15// copyright notice, this list of conditions and the following disclaimer 16// in the documentation and/or other materials provided with the 17// distribution. 18// * Neither the name of Google Inc. nor the names of its 19// contributors may be used to endorse or promote products derived from 20// this software without specific prior written permission. 21// 22// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 26// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33// 34// Author: vladl@google.com (Vlad Losev) 35 36// Type and function utilities for implementing parameterized tests. 37// This file is generated by a SCRIPT. DO NOT EDIT BY HAND! 38// 39// Currently Google Test supports at most 50 arguments in Values, 40// and at most 10 arguments in Combine. Please contact 41// googletestframework@googlegroups.com if you need more. 42// Please note that the number of arguments to Combine is limited 43// by the maximum arity of the implementation of tuple which is 44// currently set at 10. 45 46#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ 47#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ 48 49// scripts/fuse_gtest.py depends on gtest's own header being #included 50// *unconditionally*. Therefore these #includes cannot be moved 51// inside #if GTEST_HAS_PARAM_TEST. 52#include "gtest/internal/gtest-param-util.h" 53#include "gtest/internal/gtest-port.h" 54 55#if GTEST_HAS_PARAM_TEST 56 57namespace testing { 58 59// Forward declarations of ValuesIn(), which is implemented in 60// include/gtest/gtest-param-test.h. 61template <typename ForwardIterator> 62internal::ParamGenerator< 63 typename ::testing::internal::IteratorTraits<ForwardIterator>::value_type> 64ValuesIn(ForwardIterator begin, ForwardIterator end); 65 66template <typename T, size_t N> 67internal::ParamGenerator<T> ValuesIn(const T (&array)[N]); 68 69template <class Container> 70internal::ParamGenerator<typename Container::value_type> ValuesIn( 71 const Container& container); 72 73namespace internal { 74 75// Used in the Values() function to provide polymorphic capabilities. 76template <typename T1> 77class ValueArray1 { 78 public: 79 explicit ValueArray1(T1 v1) : v1_(v1) {} 80 81 template <typename T> 82 operator ParamGenerator<T>() const { return ValuesIn(&v1_, &v1_ + 1); } 83 84 private: 85 // No implementation - assignment is unsupported. 86 void operator=(const ValueArray1& other); 87 88 const T1 v1_; 89}; 90 91template <typename T1, typename T2> 92class ValueArray2 { 93 public: 94 ValueArray2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {} 95 96 template <typename T> 97 operator ParamGenerator<T>() const { 98 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_)}; 99 return ValuesIn(array); 100 } 101 102 private: 103 // No implementation - assignment is unsupported. 104 void operator=(const ValueArray2& other); 105 106 const T1 v1_; 107 const T2 v2_; 108}; 109 110template <typename T1, typename T2, typename T3> 111class ValueArray3 { 112 public: 113 ValueArray3(T1 v1, T2 v2, T3 v3) : v1_(v1), v2_(v2), v3_(v3) {} 114 115 template <typename T> 116 operator ParamGenerator<T>() const { 117 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 118 static_cast<T>(v3_)}; 119 return ValuesIn(array); 120 } 121 122 private: 123 // No implementation - assignment is unsupported. 124 void operator=(const ValueArray3& other); 125 126 const T1 v1_; 127 const T2 v2_; 128 const T3 v3_; 129}; 130 131template <typename T1, typename T2, typename T3, typename T4> 132class ValueArray4 { 133 public: 134 ValueArray4(T1 v1, T2 v2, T3 v3, T4 v4) : v1_(v1), v2_(v2), v3_(v3), 135 v4_(v4) {} 136 137 template <typename T> 138 operator ParamGenerator<T>() const { 139 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 140 static_cast<T>(v3_), static_cast<T>(v4_)}; 141 return ValuesIn(array); 142 } 143 144 private: 145 // No implementation - assignment is unsupported. 146 void operator=(const ValueArray4& other); 147 148 const T1 v1_; 149 const T2 v2_; 150 const T3 v3_; 151 const T4 v4_; 152}; 153 154template <typename T1, typename T2, typename T3, typename T4, typename T5> 155class ValueArray5 { 156 public: 157 ValueArray5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) : v1_(v1), v2_(v2), v3_(v3), 158 v4_(v4), v5_(v5) {} 159 160 template <typename T> 161 operator ParamGenerator<T>() const { 162 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 163 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_)}; 164 return ValuesIn(array); 165 } 166 167 private: 168 // No implementation - assignment is unsupported. 169 void operator=(const ValueArray5& other); 170 171 const T1 v1_; 172 const T2 v2_; 173 const T3 v3_; 174 const T4 v4_; 175 const T5 v5_; 176}; 177 178template <typename T1, typename T2, typename T3, typename T4, typename T5, 179 typename T6> 180class ValueArray6 { 181 public: 182 ValueArray6(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) : v1_(v1), v2_(v2), 183 v3_(v3), v4_(v4), v5_(v5), v6_(v6) {} 184 185 template <typename T> 186 operator ParamGenerator<T>() const { 187 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 188 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 189 static_cast<T>(v6_)}; 190 return ValuesIn(array); 191 } 192 193 private: 194 // No implementation - assignment is unsupported. 195 void operator=(const ValueArray6& other); 196 197 const T1 v1_; 198 const T2 v2_; 199 const T3 v3_; 200 const T4 v4_; 201 const T5 v5_; 202 const T6 v6_; 203}; 204 205template <typename T1, typename T2, typename T3, typename T4, typename T5, 206 typename T6, typename T7> 207class ValueArray7 { 208 public: 209 ValueArray7(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) : v1_(v1), 210 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7) {} 211 212 template <typename T> 213 operator ParamGenerator<T>() const { 214 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 215 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 216 static_cast<T>(v6_), static_cast<T>(v7_)}; 217 return ValuesIn(array); 218 } 219 220 private: 221 // No implementation - assignment is unsupported. 222 void operator=(const ValueArray7& other); 223 224 const T1 v1_; 225 const T2 v2_; 226 const T3 v3_; 227 const T4 v4_; 228 const T5 v5_; 229 const T6 v6_; 230 const T7 v7_; 231}; 232 233template <typename T1, typename T2, typename T3, typename T4, typename T5, 234 typename T6, typename T7, typename T8> 235class ValueArray8 { 236 public: 237 ValueArray8(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, 238 T8 v8) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 239 v8_(v8) {} 240 241 template <typename T> 242 operator ParamGenerator<T>() const { 243 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 244 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 245 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_)}; 246 return ValuesIn(array); 247 } 248 249 private: 250 // No implementation - assignment is unsupported. 251 void operator=(const ValueArray8& other); 252 253 const T1 v1_; 254 const T2 v2_; 255 const T3 v3_; 256 const T4 v4_; 257 const T5 v5_; 258 const T6 v6_; 259 const T7 v7_; 260 const T8 v8_; 261}; 262 263template <typename T1, typename T2, typename T3, typename T4, typename T5, 264 typename T6, typename T7, typename T8, typename T9> 265class ValueArray9 { 266 public: 267 ValueArray9(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, 268 T9 v9) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 269 v8_(v8), v9_(v9) {} 270 271 template <typename T> 272 operator ParamGenerator<T>() const { 273 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 274 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 275 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 276 static_cast<T>(v9_)}; 277 return ValuesIn(array); 278 } 279 280 private: 281 // No implementation - assignment is unsupported. 282 void operator=(const ValueArray9& other); 283 284 const T1 v1_; 285 const T2 v2_; 286 const T3 v3_; 287 const T4 v4_; 288 const T5 v5_; 289 const T6 v6_; 290 const T7 v7_; 291 const T8 v8_; 292 const T9 v9_; 293}; 294 295template <typename T1, typename T2, typename T3, typename T4, typename T5, 296 typename T6, typename T7, typename T8, typename T9, typename T10> 297class ValueArray10 { 298 public: 299 ValueArray10(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 300 T10 v10) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 301 v8_(v8), v9_(v9), v10_(v10) {} 302 303 template <typename T> 304 operator ParamGenerator<T>() const { 305 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 306 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 307 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 308 static_cast<T>(v9_), static_cast<T>(v10_)}; 309 return ValuesIn(array); 310 } 311 312 private: 313 // No implementation - assignment is unsupported. 314 void operator=(const ValueArray10& other); 315 316 const T1 v1_; 317 const T2 v2_; 318 const T3 v3_; 319 const T4 v4_; 320 const T5 v5_; 321 const T6 v6_; 322 const T7 v7_; 323 const T8 v8_; 324 const T9 v9_; 325 const T10 v10_; 326}; 327 328template <typename T1, typename T2, typename T3, typename T4, typename T5, 329 typename T6, typename T7, typename T8, typename T9, typename T10, 330 typename T11> 331class ValueArray11 { 332 public: 333 ValueArray11(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 334 T10 v10, T11 v11) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), 335 v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11) {} 336 337 template <typename T> 338 operator ParamGenerator<T>() const { 339 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 340 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 341 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 342 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_)}; 343 return ValuesIn(array); 344 } 345 346 private: 347 // No implementation - assignment is unsupported. 348 void operator=(const ValueArray11& other); 349 350 const T1 v1_; 351 const T2 v2_; 352 const T3 v3_; 353 const T4 v4_; 354 const T5 v5_; 355 const T6 v6_; 356 const T7 v7_; 357 const T8 v8_; 358 const T9 v9_; 359 const T10 v10_; 360 const T11 v11_; 361}; 362 363template <typename T1, typename T2, typename T3, typename T4, typename T5, 364 typename T6, typename T7, typename T8, typename T9, typename T10, 365 typename T11, typename T12> 366class ValueArray12 { 367 public: 368 ValueArray12(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 369 T10 v10, T11 v11, T12 v12) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), 370 v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12) {} 371 372 template <typename T> 373 operator ParamGenerator<T>() const { 374 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 375 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 376 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 377 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 378 static_cast<T>(v12_)}; 379 return ValuesIn(array); 380 } 381 382 private: 383 // No implementation - assignment is unsupported. 384 void operator=(const ValueArray12& other); 385 386 const T1 v1_; 387 const T2 v2_; 388 const T3 v3_; 389 const T4 v4_; 390 const T5 v5_; 391 const T6 v6_; 392 const T7 v7_; 393 const T8 v8_; 394 const T9 v9_; 395 const T10 v10_; 396 const T11 v11_; 397 const T12 v12_; 398}; 399 400template <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> 403class ValueArray13 { 404 public: 405 ValueArray13(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 406 T10 v10, T11 v11, T12 v12, T13 v13) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), 407 v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), 408 v12_(v12), v13_(v13) {} 409 410 template <typename T> 411 operator ParamGenerator<T>() const { 412 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 413 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 414 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 415 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 416 static_cast<T>(v12_), static_cast<T>(v13_)}; 417 return ValuesIn(array); 418 } 419 420 private: 421 // No implementation - assignment is unsupported. 422 void operator=(const ValueArray13& other); 423 424 const T1 v1_; 425 const T2 v2_; 426 const T3 v3_; 427 const T4 v4_; 428 const T5 v5_; 429 const T6 v6_; 430 const T7 v7_; 431 const T8 v8_; 432 const T9 v9_; 433 const T10 v10_; 434 const T11 v11_; 435 const T12 v12_; 436 const T13 v13_; 437}; 438 439template <typename T1, typename T2, typename T3, typename T4, typename T5, 440 typename T6, typename T7, typename T8, typename T9, typename T10, 441 typename T11, typename T12, typename T13, typename T14> 442class ValueArray14 { 443 public: 444 ValueArray14(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 445 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) : v1_(v1), v2_(v2), v3_(v3), 446 v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 447 v11_(v11), v12_(v12), v13_(v13), v14_(v14) {} 448 449 template <typename T> 450 operator ParamGenerator<T>() const { 451 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 452 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 453 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 454 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 455 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_)}; 456 return ValuesIn(array); 457 } 458 459 private: 460 // No implementation - assignment is unsupported. 461 void operator=(const ValueArray14& other); 462 463 const T1 v1_; 464 const T2 v2_; 465 const T3 v3_; 466 const T4 v4_; 467 const T5 v5_; 468 const T6 v6_; 469 const T7 v7_; 470 const T8 v8_; 471 const T9 v9_; 472 const T10 v10_; 473 const T11 v11_; 474 const T12 v12_; 475 const T13 v13_; 476 const T14 v14_; 477}; 478 479template <typename T1, typename T2, typename T3, typename T4, typename T5, 480 typename T6, typename T7, typename T8, typename T9, typename T10, 481 typename T11, typename T12, typename T13, typename T14, typename T15> 482class ValueArray15 { 483 public: 484 ValueArray15(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 485 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) : v1_(v1), v2_(v2), 486 v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 487 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15) {} 488 489 template <typename T> 490 operator ParamGenerator<T>() const { 491 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 492 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 493 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 494 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 495 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 496 static_cast<T>(v15_)}; 497 return ValuesIn(array); 498 } 499 500 private: 501 // No implementation - assignment is unsupported. 502 void operator=(const ValueArray15& other); 503 504 const T1 v1_; 505 const T2 v2_; 506 const T3 v3_; 507 const T4 v4_; 508 const T5 v5_; 509 const T6 v6_; 510 const T7 v7_; 511 const T8 v8_; 512 const T9 v9_; 513 const T10 v10_; 514 const T11 v11_; 515 const T12 v12_; 516 const T13 v13_; 517 const T14 v14_; 518 const T15 v15_; 519}; 520 521template <typename T1, typename T2, typename T3, typename T4, typename T5, 522 typename T6, typename T7, typename T8, typename T9, typename T10, 523 typename T11, typename T12, typename T13, typename T14, typename T15, 524 typename T16> 525class ValueArray16 { 526 public: 527 ValueArray16(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 528 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16) : v1_(v1), 529 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), 530 v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), 531 v16_(v16) {} 532 533 template <typename T> 534 operator ParamGenerator<T>() const { 535 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 536 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 537 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 538 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 539 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 540 static_cast<T>(v15_), static_cast<T>(v16_)}; 541 return ValuesIn(array); 542 } 543 544 private: 545 // No implementation - assignment is unsupported. 546 void operator=(const ValueArray16& other); 547 548 const T1 v1_; 549 const T2 v2_; 550 const T3 v3_; 551 const T4 v4_; 552 const T5 v5_; 553 const T6 v6_; 554 const T7 v7_; 555 const T8 v8_; 556 const T9 v9_; 557 const T10 v10_; 558 const T11 v11_; 559 const T12 v12_; 560 const T13 v13_; 561 const T14 v14_; 562 const T15 v15_; 563 const T16 v16_; 564}; 565 566template <typename T1, typename T2, typename T3, typename T4, typename T5, 567 typename T6, typename T7, typename T8, typename T9, typename T10, 568 typename T11, typename T12, typename T13, typename T14, typename T15, 569 typename T16, typename T17> 570class ValueArray17 { 571 public: 572 ValueArray17(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 573 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, 574 T17 v17) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 575 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 576 v15_(v15), v16_(v16), v17_(v17) {} 577 578 template <typename T> 579 operator ParamGenerator<T>() const { 580 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 581 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 582 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 583 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 584 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 585 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_)}; 586 return ValuesIn(array); 587 } 588 589 private: 590 // No implementation - assignment is unsupported. 591 void operator=(const ValueArray17& other); 592 593 const T1 v1_; 594 const T2 v2_; 595 const T3 v3_; 596 const T4 v4_; 597 const T5 v5_; 598 const T6 v6_; 599 const T7 v7_; 600 const T8 v8_; 601 const T9 v9_; 602 const T10 v10_; 603 const T11 v11_; 604 const T12 v12_; 605 const T13 v13_; 606 const T14 v14_; 607 const T15 v15_; 608 const T16 v16_; 609 const T17 v17_; 610}; 611 612template <typename T1, typename T2, typename T3, typename T4, typename T5, 613 typename T6, typename T7, typename T8, typename T9, typename T10, 614 typename T11, typename T12, typename T13, typename T14, typename T15, 615 typename T16, typename T17, typename T18> 616class ValueArray18 { 617 public: 618 ValueArray18(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 619 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 620 T18 v18) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 621 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 622 v15_(v15), v16_(v16), v17_(v17), v18_(v18) {} 623 624 template <typename T> 625 operator ParamGenerator<T>() const { 626 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 627 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 628 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 629 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 630 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 631 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 632 static_cast<T>(v18_)}; 633 return ValuesIn(array); 634 } 635 636 private: 637 // No implementation - assignment is unsupported. 638 void operator=(const ValueArray18& other); 639 640 const T1 v1_; 641 const T2 v2_; 642 const T3 v3_; 643 const T4 v4_; 644 const T5 v5_; 645 const T6 v6_; 646 const T7 v7_; 647 const T8 v8_; 648 const T9 v9_; 649 const T10 v10_; 650 const T11 v11_; 651 const T12 v12_; 652 const T13 v13_; 653 const T14 v14_; 654 const T15 v15_; 655 const T16 v16_; 656 const T17 v17_; 657 const T18 v18_; 658}; 659 660template <typename T1, typename T2, typename T3, typename T4, typename T5, 661 typename T6, typename T7, typename T8, typename T9, typename T10, 662 typename T11, typename T12, typename T13, typename T14, typename T15, 663 typename T16, typename T17, typename T18, typename T19> 664class ValueArray19 { 665 public: 666 ValueArray19(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 667 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 668 T18 v18, T19 v19) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), 669 v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), 670 v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19) {} 671 672 template <typename T> 673 operator ParamGenerator<T>() const { 674 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 675 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 676 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 677 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 678 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 679 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 680 static_cast<T>(v18_), static_cast<T>(v19_)}; 681 return ValuesIn(array); 682 } 683 684 private: 685 // No implementation - assignment is unsupported. 686 void operator=(const ValueArray19& other); 687 688 const T1 v1_; 689 const T2 v2_; 690 const T3 v3_; 691 const T4 v4_; 692 const T5 v5_; 693 const T6 v6_; 694 const T7 v7_; 695 const T8 v8_; 696 const T9 v9_; 697 const T10 v10_; 698 const T11 v11_; 699 const T12 v12_; 700 const T13 v13_; 701 const T14 v14_; 702 const T15 v15_; 703 const T16 v16_; 704 const T17 v17_; 705 const T18 v18_; 706 const T19 v19_; 707}; 708 709template <typename T1, typename T2, typename T3, typename T4, typename T5, 710 typename T6, typename T7, typename T8, typename T9, typename T10, 711 typename T11, typename T12, typename T13, typename T14, typename T15, 712 typename T16, typename T17, typename T18, typename T19, typename T20> 713class ValueArray20 { 714 public: 715 ValueArray20(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 716 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 717 T18 v18, T19 v19, T20 v20) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), 718 v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), 719 v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), 720 v19_(v19), v20_(v20) {} 721 722 template <typename T> 723 operator ParamGenerator<T>() const { 724 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 725 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 726 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 727 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 728 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 729 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 730 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_)}; 731 return ValuesIn(array); 732 } 733 734 private: 735 // No implementation - assignment is unsupported. 736 void operator=(const ValueArray20& other); 737 738 const T1 v1_; 739 const T2 v2_; 740 const T3 v3_; 741 const T4 v4_; 742 const T5 v5_; 743 const T6 v6_; 744 const T7 v7_; 745 const T8 v8_; 746 const T9 v9_; 747 const T10 v10_; 748 const T11 v11_; 749 const T12 v12_; 750 const T13 v13_; 751 const T14 v14_; 752 const T15 v15_; 753 const T16 v16_; 754 const T17 v17_; 755 const T18 v18_; 756 const T19 v19_; 757 const T20 v20_; 758}; 759 760template <typename T1, typename T2, typename T3, typename T4, typename T5, 761 typename T6, typename T7, typename T8, typename T9, typename T10, 762 typename T11, typename T12, typename T13, typename T14, typename T15, 763 typename T16, typename T17, typename T18, typename T19, typename T20, 764 typename T21> 765class ValueArray21 { 766 public: 767 ValueArray21(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 768 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 769 T18 v18, T19 v19, T20 v20, T21 v21) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), 770 v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), 771 v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), 772 v18_(v18), v19_(v19), v20_(v20), v21_(v21) {} 773 774 template <typename T> 775 operator ParamGenerator<T>() const { 776 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 777 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 778 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 779 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 780 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 781 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 782 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 783 static_cast<T>(v21_)}; 784 return ValuesIn(array); 785 } 786 787 private: 788 // No implementation - assignment is unsupported. 789 void operator=(const ValueArray21& other); 790 791 const T1 v1_; 792 const T2 v2_; 793 const T3 v3_; 794 const T4 v4_; 795 const T5 v5_; 796 const T6 v6_; 797 const T7 v7_; 798 const T8 v8_; 799 const T9 v9_; 800 const T10 v10_; 801 const T11 v11_; 802 const T12 v12_; 803 const T13 v13_; 804 const T14 v14_; 805 const T15 v15_; 806 const T16 v16_; 807 const T17 v17_; 808 const T18 v18_; 809 const T19 v19_; 810 const T20 v20_; 811 const T21 v21_; 812}; 813 814template <typename T1, typename T2, typename T3, typename T4, typename T5, 815 typename T6, typename T7, typename T8, typename T9, typename T10, 816 typename T11, typename T12, typename T13, typename T14, typename T15, 817 typename T16, typename T17, typename T18, typename T19, typename T20, 818 typename T21, typename T22> 819class ValueArray22 { 820 public: 821 ValueArray22(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 822 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 823 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22) : v1_(v1), v2_(v2), v3_(v3), 824 v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 825 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 826 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22) {} 827 828 template <typename T> 829 operator ParamGenerator<T>() const { 830 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 831 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 832 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 833 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 834 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 835 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 836 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 837 static_cast<T>(v21_), static_cast<T>(v22_)}; 838 return ValuesIn(array); 839 } 840 841 private: 842 // No implementation - assignment is unsupported. 843 void operator=(const ValueArray22& other); 844 845 const T1 v1_; 846 const T2 v2_; 847 const T3 v3_; 848 const T4 v4_; 849 const T5 v5_; 850 const T6 v6_; 851 const T7 v7_; 852 const T8 v8_; 853 const T9 v9_; 854 const T10 v10_; 855 const T11 v11_; 856 const T12 v12_; 857 const T13 v13_; 858 const T14 v14_; 859 const T15 v15_; 860 const T16 v16_; 861 const T17 v17_; 862 const T18 v18_; 863 const T19 v19_; 864 const T20 v20_; 865 const T21 v21_; 866 const T22 v22_; 867}; 868 869template <typename T1, typename T2, typename T3, typename T4, typename T5, 870 typename T6, typename T7, typename T8, typename T9, typename T10, 871 typename T11, typename T12, typename T13, typename T14, typename T15, 872 typename T16, typename T17, typename T18, typename T19, typename T20, 873 typename T21, typename T22, typename T23> 874class ValueArray23 { 875 public: 876 ValueArray23(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 877 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 878 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23) : v1_(v1), v2_(v2), 879 v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 880 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 881 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 882 v23_(v23) {} 883 884 template <typename T> 885 operator ParamGenerator<T>() const { 886 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 887 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 888 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 889 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 890 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 891 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 892 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 893 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_)}; 894 return ValuesIn(array); 895 } 896 897 private: 898 // No implementation - assignment is unsupported. 899 void operator=(const ValueArray23& other); 900 901 const T1 v1_; 902 const T2 v2_; 903 const T3 v3_; 904 const T4 v4_; 905 const T5 v5_; 906 const T6 v6_; 907 const T7 v7_; 908 const T8 v8_; 909 const T9 v9_; 910 const T10 v10_; 911 const T11 v11_; 912 const T12 v12_; 913 const T13 v13_; 914 const T14 v14_; 915 const T15 v15_; 916 const T16 v16_; 917 const T17 v17_; 918 const T18 v18_; 919 const T19 v19_; 920 const T20 v20_; 921 const T21 v21_; 922 const T22 v22_; 923 const T23 v23_; 924}; 925 926template <typename T1, typename T2, typename T3, typename T4, typename T5, 927 typename T6, typename T7, typename T8, typename T9, typename T10, 928 typename T11, typename T12, typename T13, typename T14, typename T15, 929 typename T16, typename T17, typename T18, typename T19, typename T20, 930 typename T21, typename T22, typename T23, typename T24> 931class ValueArray24 { 932 public: 933 ValueArray24(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 934 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 935 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24) : v1_(v1), 936 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), 937 v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), 938 v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), 939 v22_(v22), v23_(v23), v24_(v24) {} 940 941 template <typename T> 942 operator ParamGenerator<T>() const { 943 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 944 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 945 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 946 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 947 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 948 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 949 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 950 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 951 static_cast<T>(v24_)}; 952 return ValuesIn(array); 953 } 954 955 private: 956 // No implementation - assignment is unsupported. 957 void operator=(const ValueArray24& other); 958 959 const T1 v1_; 960 const T2 v2_; 961 const T3 v3_; 962 const T4 v4_; 963 const T5 v5_; 964 const T6 v6_; 965 const T7 v7_; 966 const T8 v8_; 967 const T9 v9_; 968 const T10 v10_; 969 const T11 v11_; 970 const T12 v12_; 971 const T13 v13_; 972 const T14 v14_; 973 const T15 v15_; 974 const T16 v16_; 975 const T17 v17_; 976 const T18 v18_; 977 const T19 v19_; 978 const T20 v20_; 979 const T21 v21_; 980 const T22 v22_; 981 const T23 v23_; 982 const T24 v24_; 983}; 984 985template <typename T1, typename T2, typename T3, typename T4, typename T5, 986 typename T6, typename T7, typename T8, typename T9, typename T10, 987 typename T11, typename T12, typename T13, typename T14, typename T15, 988 typename T16, typename T17, typename T18, typename T19, typename T20, 989 typename T21, typename T22, typename T23, typename T24, typename T25> 990class ValueArray25 { 991 public: 992 ValueArray25(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 993 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 994 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, 995 T25 v25) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 996 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 997 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 998 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25) {} 999 1000 template <typename T> 1001 operator ParamGenerator<T>() const { 1002 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1003 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1004 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1005 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1006 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1007 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1008 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1009 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1010 static_cast<T>(v24_), static_cast<T>(v25_)}; 1011 return ValuesIn(array); 1012 } 1013 1014 private: 1015 // No implementation - assignment is unsupported. 1016 void operator=(const ValueArray25& other); 1017 1018 const T1 v1_; 1019 const T2 v2_; 1020 const T3 v3_; 1021 const T4 v4_; 1022 const T5 v5_; 1023 const T6 v6_; 1024 const T7 v7_; 1025 const T8 v8_; 1026 const T9 v9_; 1027 const T10 v10_; 1028 const T11 v11_; 1029 const T12 v12_; 1030 const T13 v13_; 1031 const T14 v14_; 1032 const T15 v15_; 1033 const T16 v16_; 1034 const T17 v17_; 1035 const T18 v18_; 1036 const T19 v19_; 1037 const T20 v20_; 1038 const T21 v21_; 1039 const T22 v22_; 1040 const T23 v23_; 1041 const T24 v24_; 1042 const T25 v25_; 1043}; 1044 1045template <typename T1, typename T2, typename T3, typename T4, typename T5, 1046 typename T6, typename T7, typename T8, typename T9, typename T10, 1047 typename T11, typename T12, typename T13, typename T14, typename T15, 1048 typename T16, typename T17, typename T18, typename T19, typename T20, 1049 typename T21, typename T22, typename T23, typename T24, typename T25, 1050 typename T26> 1051class ValueArray26 { 1052 public: 1053 ValueArray26(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1054 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1055 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1056 T26 v26) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 1057 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 1058 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 1059 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26) {} 1060 1061 template <typename T> 1062 operator ParamGenerator<T>() const { 1063 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1064 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1065 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1066 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1067 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1068 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1069 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1070 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1071 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_)}; 1072 return ValuesIn(array); 1073 } 1074 1075 private: 1076 // No implementation - assignment is unsupported. 1077 void operator=(const ValueArray26& other); 1078 1079 const T1 v1_; 1080 const T2 v2_; 1081 const T3 v3_; 1082 const T4 v4_; 1083 const T5 v5_; 1084 const T6 v6_; 1085 const T7 v7_; 1086 const T8 v8_; 1087 const T9 v9_; 1088 const T10 v10_; 1089 const T11 v11_; 1090 const T12 v12_; 1091 const T13 v13_; 1092 const T14 v14_; 1093 const T15 v15_; 1094 const T16 v16_; 1095 const T17 v17_; 1096 const T18 v18_; 1097 const T19 v19_; 1098 const T20 v20_; 1099 const T21 v21_; 1100 const T22 v22_; 1101 const T23 v23_; 1102 const T24 v24_; 1103 const T25 v25_; 1104 const T26 v26_; 1105}; 1106 1107template <typename T1, typename T2, typename T3, typename T4, typename T5, 1108 typename T6, typename T7, typename T8, typename T9, typename T10, 1109 typename T11, typename T12, typename T13, typename T14, typename T15, 1110 typename T16, typename T17, typename T18, typename T19, typename T20, 1111 typename T21, typename T22, typename T23, typename T24, typename T25, 1112 typename T26, typename T27> 1113class ValueArray27 { 1114 public: 1115 ValueArray27(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1116 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1117 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1118 T26 v26, T27 v27) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), 1119 v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), 1120 v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), 1121 v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), 1122 v26_(v26), v27_(v27) {} 1123 1124 template <typename T> 1125 operator ParamGenerator<T>() const { 1126 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1127 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1128 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1129 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1130 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1131 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1132 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1133 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1134 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1135 static_cast<T>(v27_)}; 1136 return ValuesIn(array); 1137 } 1138 1139 private: 1140 // No implementation - assignment is unsupported. 1141 void operator=(const ValueArray27& other); 1142 1143 const T1 v1_; 1144 const T2 v2_; 1145 const T3 v3_; 1146 const T4 v4_; 1147 const T5 v5_; 1148 const T6 v6_; 1149 const T7 v7_; 1150 const T8 v8_; 1151 const T9 v9_; 1152 const T10 v10_; 1153 const T11 v11_; 1154 const T12 v12_; 1155 const T13 v13_; 1156 const T14 v14_; 1157 const T15 v15_; 1158 const T16 v16_; 1159 const T17 v17_; 1160 const T18 v18_; 1161 const T19 v19_; 1162 const T20 v20_; 1163 const T21 v21_; 1164 const T22 v22_; 1165 const T23 v23_; 1166 const T24 v24_; 1167 const T25 v25_; 1168 const T26 v26_; 1169 const T27 v27_; 1170}; 1171 1172template <typename T1, typename T2, typename T3, typename T4, typename T5, 1173 typename T6, typename T7, typename T8, typename T9, typename T10, 1174 typename T11, typename T12, typename T13, typename T14, typename T15, 1175 typename T16, typename T17, typename T18, typename T19, typename T20, 1176 typename T21, typename T22, typename T23, typename T24, typename T25, 1177 typename T26, typename T27, typename T28> 1178class ValueArray28 { 1179 public: 1180 ValueArray28(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1181 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1182 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1183 T26 v26, T27 v27, T28 v28) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), 1184 v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), 1185 v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), 1186 v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), 1187 v25_(v25), v26_(v26), v27_(v27), v28_(v28) {} 1188 1189 template <typename T> 1190 operator ParamGenerator<T>() const { 1191 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1192 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1193 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1194 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1195 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1196 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1197 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1198 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1199 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1200 static_cast<T>(v27_), static_cast<T>(v28_)}; 1201 return ValuesIn(array); 1202 } 1203 1204 private: 1205 // No implementation - assignment is unsupported. 1206 void operator=(const ValueArray28& other); 1207 1208 const T1 v1_; 1209 const T2 v2_; 1210 const T3 v3_; 1211 const T4 v4_; 1212 const T5 v5_; 1213 const T6 v6_; 1214 const T7 v7_; 1215 const T8 v8_; 1216 const T9 v9_; 1217 const T10 v10_; 1218 const T11 v11_; 1219 const T12 v12_; 1220 const T13 v13_; 1221 const T14 v14_; 1222 const T15 v15_; 1223 const T16 v16_; 1224 const T17 v17_; 1225 const T18 v18_; 1226 const T19 v19_; 1227 const T20 v20_; 1228 const T21 v21_; 1229 const T22 v22_; 1230 const T23 v23_; 1231 const T24 v24_; 1232 const T25 v25_; 1233 const T26 v26_; 1234 const T27 v27_; 1235 const T28 v28_; 1236}; 1237 1238template <typename T1, typename T2, typename T3, typename T4, typename T5, 1239 typename T6, typename T7, typename T8, typename T9, typename T10, 1240 typename T11, typename T12, typename T13, typename T14, typename T15, 1241 typename T16, typename T17, typename T18, typename T19, typename T20, 1242 typename T21, typename T22, typename T23, typename T24, typename T25, 1243 typename T26, typename T27, typename T28, typename T29> 1244class ValueArray29 { 1245 public: 1246 ValueArray29(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1247 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1248 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1249 T26 v26, T27 v27, T28 v28, T29 v29) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), 1250 v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), 1251 v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), 1252 v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), 1253 v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29) {} 1254 1255 template <typename T> 1256 operator ParamGenerator<T>() const { 1257 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1258 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1259 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1260 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1261 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1262 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1263 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1264 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1265 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1266 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_)}; 1267 return ValuesIn(array); 1268 } 1269 1270 private: 1271 // No implementation - assignment is unsupported. 1272 void operator=(const ValueArray29& other); 1273 1274 const T1 v1_; 1275 const T2 v2_; 1276 const T3 v3_; 1277 const T4 v4_; 1278 const T5 v5_; 1279 const T6 v6_; 1280 const T7 v7_; 1281 const T8 v8_; 1282 const T9 v9_; 1283 const T10 v10_; 1284 const T11 v11_; 1285 const T12 v12_; 1286 const T13 v13_; 1287 const T14 v14_; 1288 const T15 v15_; 1289 const T16 v16_; 1290 const T17 v17_; 1291 const T18 v18_; 1292 const T19 v19_; 1293 const T20 v20_; 1294 const T21 v21_; 1295 const T22 v22_; 1296 const T23 v23_; 1297 const T24 v24_; 1298 const T25 v25_; 1299 const T26 v26_; 1300 const T27 v27_; 1301 const T28 v28_; 1302 const T29 v29_; 1303}; 1304 1305template <typename T1, typename T2, typename T3, typename T4, typename T5, 1306 typename T6, typename T7, typename T8, typename T9, typename T10, 1307 typename T11, typename T12, typename T13, typename T14, typename T15, 1308 typename T16, typename T17, typename T18, typename T19, typename T20, 1309 typename T21, typename T22, typename T23, typename T24, typename T25, 1310 typename T26, typename T27, typename T28, typename T29, typename T30> 1311class ValueArray30 { 1312 public: 1313 ValueArray30(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1314 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1315 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1316 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) : v1_(v1), v2_(v2), v3_(v3), 1317 v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 1318 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 1319 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 1320 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 1321 v29_(v29), v30_(v30) {} 1322 1323 template <typename T> 1324 operator ParamGenerator<T>() const { 1325 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1326 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1327 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1328 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1329 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1330 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1331 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1332 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1333 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1334 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1335 static_cast<T>(v30_)}; 1336 return ValuesIn(array); 1337 } 1338 1339 private: 1340 // No implementation - assignment is unsupported. 1341 void operator=(const ValueArray30& other); 1342 1343 const T1 v1_; 1344 const T2 v2_; 1345 const T3 v3_; 1346 const T4 v4_; 1347 const T5 v5_; 1348 const T6 v6_; 1349 const T7 v7_; 1350 const T8 v8_; 1351 const T9 v9_; 1352 const T10 v10_; 1353 const T11 v11_; 1354 const T12 v12_; 1355 const T13 v13_; 1356 const T14 v14_; 1357 const T15 v15_; 1358 const T16 v16_; 1359 const T17 v17_; 1360 const T18 v18_; 1361 const T19 v19_; 1362 const T20 v20_; 1363 const T21 v21_; 1364 const T22 v22_; 1365 const T23 v23_; 1366 const T24 v24_; 1367 const T25 v25_; 1368 const T26 v26_; 1369 const T27 v27_; 1370 const T28 v28_; 1371 const T29 v29_; 1372 const T30 v30_; 1373}; 1374 1375template <typename T1, typename T2, typename T3, typename T4, typename T5, 1376 typename T6, typename T7, typename T8, typename T9, typename T10, 1377 typename T11, typename T12, typename T13, typename T14, typename T15, 1378 typename T16, typename T17, typename T18, typename T19, typename T20, 1379 typename T21, typename T22, typename T23, typename T24, typename T25, 1380 typename T26, typename T27, typename T28, typename T29, typename T30, 1381 typename T31> 1382class ValueArray31 { 1383 public: 1384 ValueArray31(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1385 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1386 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1387 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) : v1_(v1), v2_(v2), 1388 v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 1389 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 1390 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 1391 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 1392 v29_(v29), v30_(v30), v31_(v31) {} 1393 1394 template <typename T> 1395 operator ParamGenerator<T>() const { 1396 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1397 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1398 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1399 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1400 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1401 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1402 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1403 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1404 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1405 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1406 static_cast<T>(v30_), static_cast<T>(v31_)}; 1407 return ValuesIn(array); 1408 } 1409 1410 private: 1411 // No implementation - assignment is unsupported. 1412 void operator=(const ValueArray31& other); 1413 1414 const T1 v1_; 1415 const T2 v2_; 1416 const T3 v3_; 1417 const T4 v4_; 1418 const T5 v5_; 1419 const T6 v6_; 1420 const T7 v7_; 1421 const T8 v8_; 1422 const T9 v9_; 1423 const T10 v10_; 1424 const T11 v11_; 1425 const T12 v12_; 1426 const T13 v13_; 1427 const T14 v14_; 1428 const T15 v15_; 1429 const T16 v16_; 1430 const T17 v17_; 1431 const T18 v18_; 1432 const T19 v19_; 1433 const T20 v20_; 1434 const T21 v21_; 1435 const T22 v22_; 1436 const T23 v23_; 1437 const T24 v24_; 1438 const T25 v25_; 1439 const T26 v26_; 1440 const T27 v27_; 1441 const T28 v28_; 1442 const T29 v29_; 1443 const T30 v30_; 1444 const T31 v31_; 1445}; 1446 1447template <typename T1, typename T2, typename T3, typename T4, typename T5, 1448 typename T6, typename T7, typename T8, typename T9, typename T10, 1449 typename T11, typename T12, typename T13, typename T14, typename T15, 1450 typename T16, typename T17, typename T18, typename T19, typename T20, 1451 typename T21, typename T22, typename T23, typename T24, typename T25, 1452 typename T26, typename T27, typename T28, typename T29, typename T30, 1453 typename T31, typename T32> 1454class ValueArray32 { 1455 public: 1456 ValueArray32(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1457 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1458 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1459 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32) : v1_(v1), 1460 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), 1461 v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), 1462 v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), 1463 v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), 1464 v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32) {} 1465 1466 template <typename T> 1467 operator ParamGenerator<T>() const { 1468 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1469 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1470 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1471 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1472 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1473 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1474 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1475 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1476 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1477 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1478 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_)}; 1479 return ValuesIn(array); 1480 } 1481 1482 private: 1483 // No implementation - assignment is unsupported. 1484 void operator=(const ValueArray32& other); 1485 1486 const T1 v1_; 1487 const T2 v2_; 1488 const T3 v3_; 1489 const T4 v4_; 1490 const T5 v5_; 1491 const T6 v6_; 1492 const T7 v7_; 1493 const T8 v8_; 1494 const T9 v9_; 1495 const T10 v10_; 1496 const T11 v11_; 1497 const T12 v12_; 1498 const T13 v13_; 1499 const T14 v14_; 1500 const T15 v15_; 1501 const T16 v16_; 1502 const T17 v17_; 1503 const T18 v18_; 1504 const T19 v19_; 1505 const T20 v20_; 1506 const T21 v21_; 1507 const T22 v22_; 1508 const T23 v23_; 1509 const T24 v24_; 1510 const T25 v25_; 1511 const T26 v26_; 1512 const T27 v27_; 1513 const T28 v28_; 1514 const T29 v29_; 1515 const T30 v30_; 1516 const T31 v31_; 1517 const T32 v32_; 1518}; 1519 1520template <typename T1, typename T2, typename T3, typename T4, typename T5, 1521 typename T6, typename T7, typename T8, typename T9, typename T10, 1522 typename T11, typename T12, typename T13, typename T14, typename T15, 1523 typename T16, typename T17, typename T18, typename T19, typename T20, 1524 typename T21, typename T22, typename T23, typename T24, typename T25, 1525 typename T26, typename T27, typename T28, typename T29, typename T30, 1526 typename T31, typename T32, typename T33> 1527class ValueArray33 { 1528 public: 1529 ValueArray33(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1530 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1531 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1532 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, 1533 T33 v33) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 1534 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 1535 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 1536 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), 1537 v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), 1538 v33_(v33) {} 1539 1540 template <typename T> 1541 operator ParamGenerator<T>() const { 1542 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1543 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1544 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1545 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1546 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1547 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1548 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1549 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1550 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1551 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1552 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1553 static_cast<T>(v33_)}; 1554 return ValuesIn(array); 1555 } 1556 1557 private: 1558 // No implementation - assignment is unsupported. 1559 void operator=(const ValueArray33& other); 1560 1561 const T1 v1_; 1562 const T2 v2_; 1563 const T3 v3_; 1564 const T4 v4_; 1565 const T5 v5_; 1566 const T6 v6_; 1567 const T7 v7_; 1568 const T8 v8_; 1569 const T9 v9_; 1570 const T10 v10_; 1571 const T11 v11_; 1572 const T12 v12_; 1573 const T13 v13_; 1574 const T14 v14_; 1575 const T15 v15_; 1576 const T16 v16_; 1577 const T17 v17_; 1578 const T18 v18_; 1579 const T19 v19_; 1580 const T20 v20_; 1581 const T21 v21_; 1582 const T22 v22_; 1583 const T23 v23_; 1584 const T24 v24_; 1585 const T25 v25_; 1586 const T26 v26_; 1587 const T27 v27_; 1588 const T28 v28_; 1589 const T29 v29_; 1590 const T30 v30_; 1591 const T31 v31_; 1592 const T32 v32_; 1593 const T33 v33_; 1594}; 1595 1596template <typename T1, typename T2, typename T3, typename T4, typename T5, 1597 typename T6, typename T7, typename T8, typename T9, typename T10, 1598 typename T11, typename T12, typename T13, typename T14, typename T15, 1599 typename T16, typename T17, typename T18, typename T19, typename T20, 1600 typename T21, typename T22, typename T23, typename T24, typename T25, 1601 typename T26, typename T27, typename T28, typename T29, typename T30, 1602 typename T31, typename T32, typename T33, typename T34> 1603class ValueArray34 { 1604 public: 1605 ValueArray34(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1606 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1607 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1608 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 1609 T34 v34) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 1610 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 1611 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 1612 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), 1613 v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), 1614 v33_(v33), v34_(v34) {} 1615 1616 template <typename T> 1617 operator ParamGenerator<T>() const { 1618 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1619 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1620 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1621 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1622 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1623 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1624 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1625 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1626 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1627 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1628 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1629 static_cast<T>(v33_), static_cast<T>(v34_)}; 1630 return ValuesIn(array); 1631 } 1632 1633 private: 1634 // No implementation - assignment is unsupported. 1635 void operator=(const ValueArray34& other); 1636 1637 const T1 v1_; 1638 const T2 v2_; 1639 const T3 v3_; 1640 const T4 v4_; 1641 const T5 v5_; 1642 const T6 v6_; 1643 const T7 v7_; 1644 const T8 v8_; 1645 const T9 v9_; 1646 const T10 v10_; 1647 const T11 v11_; 1648 const T12 v12_; 1649 const T13 v13_; 1650 const T14 v14_; 1651 const T15 v15_; 1652 const T16 v16_; 1653 const T17 v17_; 1654 const T18 v18_; 1655 const T19 v19_; 1656 const T20 v20_; 1657 const T21 v21_; 1658 const T22 v22_; 1659 const T23 v23_; 1660 const T24 v24_; 1661 const T25 v25_; 1662 const T26 v26_; 1663 const T27 v27_; 1664 const T28 v28_; 1665 const T29 v29_; 1666 const T30 v30_; 1667 const T31 v31_; 1668 const T32 v32_; 1669 const T33 v33_; 1670 const T34 v34_; 1671}; 1672 1673template <typename T1, typename T2, typename T3, typename T4, typename T5, 1674 typename T6, typename T7, typename T8, typename T9, typename T10, 1675 typename T11, typename T12, typename T13, typename T14, typename T15, 1676 typename T16, typename T17, typename T18, typename T19, typename T20, 1677 typename T21, typename T22, typename T23, typename T24, typename T25, 1678 typename T26, typename T27, typename T28, typename T29, typename T30, 1679 typename T31, typename T32, typename T33, typename T34, typename T35> 1680class ValueArray35 { 1681 public: 1682 ValueArray35(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1683 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1684 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1685 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 1686 T34 v34, T35 v35) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), 1687 v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), 1688 v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), 1689 v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), 1690 v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), 1691 v32_(v32), v33_(v33), v34_(v34), v35_(v35) {} 1692 1693 template <typename T> 1694 operator ParamGenerator<T>() const { 1695 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1696 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1697 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1698 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1699 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1700 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1701 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1702 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1703 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1704 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1705 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1706 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_)}; 1707 return ValuesIn(array); 1708 } 1709 1710 private: 1711 // No implementation - assignment is unsupported. 1712 void operator=(const ValueArray35& other); 1713 1714 const T1 v1_; 1715 const T2 v2_; 1716 const T3 v3_; 1717 const T4 v4_; 1718 const T5 v5_; 1719 const T6 v6_; 1720 const T7 v7_; 1721 const T8 v8_; 1722 const T9 v9_; 1723 const T10 v10_; 1724 const T11 v11_; 1725 const T12 v12_; 1726 const T13 v13_; 1727 const T14 v14_; 1728 const T15 v15_; 1729 const T16 v16_; 1730 const T17 v17_; 1731 const T18 v18_; 1732 const T19 v19_; 1733 const T20 v20_; 1734 const T21 v21_; 1735 const T22 v22_; 1736 const T23 v23_; 1737 const T24 v24_; 1738 const T25 v25_; 1739 const T26 v26_; 1740 const T27 v27_; 1741 const T28 v28_; 1742 const T29 v29_; 1743 const T30 v30_; 1744 const T31 v31_; 1745 const T32 v32_; 1746 const T33 v33_; 1747 const T34 v34_; 1748 const T35 v35_; 1749}; 1750 1751template <typename T1, typename T2, typename T3, typename T4, typename T5, 1752 typename T6, typename T7, typename T8, typename T9, typename T10, 1753 typename T11, typename T12, typename T13, typename T14, typename T15, 1754 typename T16, typename T17, typename T18, typename T19, typename T20, 1755 typename T21, typename T22, typename T23, typename T24, typename T25, 1756 typename T26, typename T27, typename T28, typename T29, typename T30, 1757 typename T31, typename T32, typename T33, typename T34, typename T35, 1758 typename T36> 1759class ValueArray36 { 1760 public: 1761 ValueArray36(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1762 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1763 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1764 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 1765 T34 v34, T35 v35, T36 v36) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), 1766 v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), 1767 v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), 1768 v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), 1769 v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), 1770 v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36) {} 1771 1772 template <typename T> 1773 operator ParamGenerator<T>() const { 1774 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1775 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1776 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1777 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1778 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1779 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1780 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1781 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1782 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1783 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1784 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1785 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 1786 static_cast<T>(v36_)}; 1787 return ValuesIn(array); 1788 } 1789 1790 private: 1791 // No implementation - assignment is unsupported. 1792 void operator=(const ValueArray36& other); 1793 1794 const T1 v1_; 1795 const T2 v2_; 1796 const T3 v3_; 1797 const T4 v4_; 1798 const T5 v5_; 1799 const T6 v6_; 1800 const T7 v7_; 1801 const T8 v8_; 1802 const T9 v9_; 1803 const T10 v10_; 1804 const T11 v11_; 1805 const T12 v12_; 1806 const T13 v13_; 1807 const T14 v14_; 1808 const T15 v15_; 1809 const T16 v16_; 1810 const T17 v17_; 1811 const T18 v18_; 1812 const T19 v19_; 1813 const T20 v20_; 1814 const T21 v21_; 1815 const T22 v22_; 1816 const T23 v23_; 1817 const T24 v24_; 1818 const T25 v25_; 1819 const T26 v26_; 1820 const T27 v27_; 1821 const T28 v28_; 1822 const T29 v29_; 1823 const T30 v30_; 1824 const T31 v31_; 1825 const T32 v32_; 1826 const T33 v33_; 1827 const T34 v34_; 1828 const T35 v35_; 1829 const T36 v36_; 1830}; 1831 1832template <typename T1, typename T2, typename T3, typename T4, typename T5, 1833 typename T6, typename T7, typename T8, typename T9, typename T10, 1834 typename T11, typename T12, typename T13, typename T14, typename T15, 1835 typename T16, typename T17, typename T18, typename T19, typename T20, 1836 typename T21, typename T22, typename T23, typename T24, typename T25, 1837 typename T26, typename T27, typename T28, typename T29, typename T30, 1838 typename T31, typename T32, typename T33, typename T34, typename T35, 1839 typename T36, typename T37> 1840class ValueArray37 { 1841 public: 1842 ValueArray37(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1843 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1844 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1845 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 1846 T34 v34, T35 v35, T36 v36, T37 v37) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), 1847 v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), 1848 v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), 1849 v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), 1850 v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), 1851 v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), 1852 v36_(v36), v37_(v37) {} 1853 1854 template <typename T> 1855 operator ParamGenerator<T>() const { 1856 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1857 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1858 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1859 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1860 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1861 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1862 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1863 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1864 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1865 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1866 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1867 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 1868 static_cast<T>(v36_), static_cast<T>(v37_)}; 1869 return ValuesIn(array); 1870 } 1871 1872 private: 1873 // No implementation - assignment is unsupported. 1874 void operator=(const ValueArray37& other); 1875 1876 const T1 v1_; 1877 const T2 v2_; 1878 const T3 v3_; 1879 const T4 v4_; 1880 const T5 v5_; 1881 const T6 v6_; 1882 const T7 v7_; 1883 const T8 v8_; 1884 const T9 v9_; 1885 const T10 v10_; 1886 const T11 v11_; 1887 const T12 v12_; 1888 const T13 v13_; 1889 const T14 v14_; 1890 const T15 v15_; 1891 const T16 v16_; 1892 const T17 v17_; 1893 const T18 v18_; 1894 const T19 v19_; 1895 const T20 v20_; 1896 const T21 v21_; 1897 const T22 v22_; 1898 const T23 v23_; 1899 const T24 v24_; 1900 const T25 v25_; 1901 const T26 v26_; 1902 const T27 v27_; 1903 const T28 v28_; 1904 const T29 v29_; 1905 const T30 v30_; 1906 const T31 v31_; 1907 const T32 v32_; 1908 const T33 v33_; 1909 const T34 v34_; 1910 const T35 v35_; 1911 const T36 v36_; 1912 const T37 v37_; 1913}; 1914 1915template <typename T1, typename T2, typename T3, typename T4, typename T5, 1916 typename T6, typename T7, typename T8, typename T9, typename T10, 1917 typename T11, typename T12, typename T13, typename T14, typename T15, 1918 typename T16, typename T17, typename T18, typename T19, typename T20, 1919 typename T21, typename T22, typename T23, typename T24, typename T25, 1920 typename T26, typename T27, typename T28, typename T29, typename T30, 1921 typename T31, typename T32, typename T33, typename T34, typename T35, 1922 typename T36, typename T37, typename T38> 1923class ValueArray38 { 1924 public: 1925 ValueArray38(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 1926 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 1927 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 1928 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 1929 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38) : v1_(v1), v2_(v2), v3_(v3), 1930 v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 1931 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 1932 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 1933 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 1934 v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), 1935 v35_(v35), v36_(v36), v37_(v37), v38_(v38) {} 1936 1937 template <typename T> 1938 operator ParamGenerator<T>() const { 1939 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 1940 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 1941 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 1942 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 1943 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 1944 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 1945 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 1946 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 1947 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 1948 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 1949 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 1950 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 1951 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_)}; 1952 return ValuesIn(array); 1953 } 1954 1955 private: 1956 // No implementation - assignment is unsupported. 1957 void operator=(const ValueArray38& other); 1958 1959 const T1 v1_; 1960 const T2 v2_; 1961 const T3 v3_; 1962 const T4 v4_; 1963 const T5 v5_; 1964 const T6 v6_; 1965 const T7 v7_; 1966 const T8 v8_; 1967 const T9 v9_; 1968 const T10 v10_; 1969 const T11 v11_; 1970 const T12 v12_; 1971 const T13 v13_; 1972 const T14 v14_; 1973 const T15 v15_; 1974 const T16 v16_; 1975 const T17 v17_; 1976 const T18 v18_; 1977 const T19 v19_; 1978 const T20 v20_; 1979 const T21 v21_; 1980 const T22 v22_; 1981 const T23 v23_; 1982 const T24 v24_; 1983 const T25 v25_; 1984 const T26 v26_; 1985 const T27 v27_; 1986 const T28 v28_; 1987 const T29 v29_; 1988 const T30 v30_; 1989 const T31 v31_; 1990 const T32 v32_; 1991 const T33 v33_; 1992 const T34 v34_; 1993 const T35 v35_; 1994 const T36 v36_; 1995 const T37 v37_; 1996 const T38 v38_; 1997}; 1998 1999template <typename T1, typename T2, typename T3, typename T4, typename T5, 2000 typename T6, typename T7, typename T8, typename T9, typename T10, 2001 typename T11, typename T12, typename T13, typename T14, typename T15, 2002 typename T16, typename T17, typename T18, typename T19, typename T20, 2003 typename T21, typename T22, typename T23, typename T24, typename T25, 2004 typename T26, typename T27, typename T28, typename T29, typename T30, 2005 typename T31, typename T32, typename T33, typename T34, typename T35, 2006 typename T36, typename T37, typename T38, typename T39> 2007class ValueArray39 { 2008 public: 2009 ValueArray39(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2010 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2011 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2012 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2013 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39) : v1_(v1), v2_(v2), 2014 v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 2015 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 2016 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 2017 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 2018 v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), 2019 v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39) {} 2020 2021 template <typename T> 2022 operator ParamGenerator<T>() const { 2023 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2024 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2025 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2026 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2027 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2028 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2029 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2030 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2031 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2032 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2033 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2034 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2035 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2036 static_cast<T>(v39_)}; 2037 return ValuesIn(array); 2038 } 2039 2040 private: 2041 // No implementation - assignment is unsupported. 2042 void operator=(const ValueArray39& other); 2043 2044 const T1 v1_; 2045 const T2 v2_; 2046 const T3 v3_; 2047 const T4 v4_; 2048 const T5 v5_; 2049 const T6 v6_; 2050 const T7 v7_; 2051 const T8 v8_; 2052 const T9 v9_; 2053 const T10 v10_; 2054 const T11 v11_; 2055 const T12 v12_; 2056 const T13 v13_; 2057 const T14 v14_; 2058 const T15 v15_; 2059 const T16 v16_; 2060 const T17 v17_; 2061 const T18 v18_; 2062 const T19 v19_; 2063 const T20 v20_; 2064 const T21 v21_; 2065 const T22 v22_; 2066 const T23 v23_; 2067 const T24 v24_; 2068 const T25 v25_; 2069 const T26 v26_; 2070 const T27 v27_; 2071 const T28 v28_; 2072 const T29 v29_; 2073 const T30 v30_; 2074 const T31 v31_; 2075 const T32 v32_; 2076 const T33 v33_; 2077 const T34 v34_; 2078 const T35 v35_; 2079 const T36 v36_; 2080 const T37 v37_; 2081 const T38 v38_; 2082 const T39 v39_; 2083}; 2084 2085template <typename T1, typename T2, typename T3, typename T4, typename T5, 2086 typename T6, typename T7, typename T8, typename T9, typename T10, 2087 typename T11, typename T12, typename T13, typename T14, typename T15, 2088 typename T16, typename T17, typename T18, typename T19, typename T20, 2089 typename T21, typename T22, typename T23, typename T24, typename T25, 2090 typename T26, typename T27, typename T28, typename T29, typename T30, 2091 typename T31, typename T32, typename T33, typename T34, typename T35, 2092 typename T36, typename T37, typename T38, typename T39, typename T40> 2093class ValueArray40 { 2094 public: 2095 ValueArray40(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2096 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2097 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2098 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2099 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40) : v1_(v1), 2100 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), 2101 v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), 2102 v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), 2103 v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), 2104 v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), 2105 v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), 2106 v40_(v40) {} 2107 2108 template <typename T> 2109 operator ParamGenerator<T>() const { 2110 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2111 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2112 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2113 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2114 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2115 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2116 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2117 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2118 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2119 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2120 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2121 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2122 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2123 static_cast<T>(v39_), static_cast<T>(v40_)}; 2124 return ValuesIn(array); 2125 } 2126 2127 private: 2128 // No implementation - assignment is unsupported. 2129 void operator=(const ValueArray40& other); 2130 2131 const T1 v1_; 2132 const T2 v2_; 2133 const T3 v3_; 2134 const T4 v4_; 2135 const T5 v5_; 2136 const T6 v6_; 2137 const T7 v7_; 2138 const T8 v8_; 2139 const T9 v9_; 2140 const T10 v10_; 2141 const T11 v11_; 2142 const T12 v12_; 2143 const T13 v13_; 2144 const T14 v14_; 2145 const T15 v15_; 2146 const T16 v16_; 2147 const T17 v17_; 2148 const T18 v18_; 2149 const T19 v19_; 2150 const T20 v20_; 2151 const T21 v21_; 2152 const T22 v22_; 2153 const T23 v23_; 2154 const T24 v24_; 2155 const T25 v25_; 2156 const T26 v26_; 2157 const T27 v27_; 2158 const T28 v28_; 2159 const T29 v29_; 2160 const T30 v30_; 2161 const T31 v31_; 2162 const T32 v32_; 2163 const T33 v33_; 2164 const T34 v34_; 2165 const T35 v35_; 2166 const T36 v36_; 2167 const T37 v37_; 2168 const T38 v38_; 2169 const T39 v39_; 2170 const T40 v40_; 2171}; 2172 2173template <typename T1, typename T2, typename T3, typename T4, typename T5, 2174 typename T6, typename T7, typename T8, typename T9, typename T10, 2175 typename T11, typename T12, typename T13, typename T14, typename T15, 2176 typename T16, typename T17, typename T18, typename T19, typename T20, 2177 typename T21, typename T22, typename T23, typename T24, typename T25, 2178 typename T26, typename T27, typename T28, typename T29, typename T30, 2179 typename T31, typename T32, typename T33, typename T34, typename T35, 2180 typename T36, typename T37, typename T38, typename T39, typename T40, 2181 typename T41> 2182class ValueArray41 { 2183 public: 2184 ValueArray41(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2185 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2186 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2187 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2188 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, 2189 T41 v41) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 2190 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 2191 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 2192 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), 2193 v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), 2194 v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), 2195 v39_(v39), v40_(v40), v41_(v41) {} 2196 2197 template <typename T> 2198 operator ParamGenerator<T>() const { 2199 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2200 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2201 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2202 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2203 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2204 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2205 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2206 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2207 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2208 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2209 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2210 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2211 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2212 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_)}; 2213 return ValuesIn(array); 2214 } 2215 2216 private: 2217 // No implementation - assignment is unsupported. 2218 void operator=(const ValueArray41& other); 2219 2220 const T1 v1_; 2221 const T2 v2_; 2222 const T3 v3_; 2223 const T4 v4_; 2224 const T5 v5_; 2225 const T6 v6_; 2226 const T7 v7_; 2227 const T8 v8_; 2228 const T9 v9_; 2229 const T10 v10_; 2230 const T11 v11_; 2231 const T12 v12_; 2232 const T13 v13_; 2233 const T14 v14_; 2234 const T15 v15_; 2235 const T16 v16_; 2236 const T17 v17_; 2237 const T18 v18_; 2238 const T19 v19_; 2239 const T20 v20_; 2240 const T21 v21_; 2241 const T22 v22_; 2242 const T23 v23_; 2243 const T24 v24_; 2244 const T25 v25_; 2245 const T26 v26_; 2246 const T27 v27_; 2247 const T28 v28_; 2248 const T29 v29_; 2249 const T30 v30_; 2250 const T31 v31_; 2251 const T32 v32_; 2252 const T33 v33_; 2253 const T34 v34_; 2254 const T35 v35_; 2255 const T36 v36_; 2256 const T37 v37_; 2257 const T38 v38_; 2258 const T39 v39_; 2259 const T40 v40_; 2260 const T41 v41_; 2261}; 2262 2263template <typename T1, typename T2, typename T3, typename T4, typename T5, 2264 typename T6, typename T7, typename T8, typename T9, typename T10, 2265 typename T11, typename T12, typename T13, typename T14, typename T15, 2266 typename T16, typename T17, typename T18, typename T19, typename T20, 2267 typename T21, typename T22, typename T23, typename T24, typename T25, 2268 typename T26, typename T27, typename T28, typename T29, typename T30, 2269 typename T31, typename T32, typename T33, typename T34, typename T35, 2270 typename T36, typename T37, typename T38, typename T39, typename T40, 2271 typename T41, typename T42> 2272class ValueArray42 { 2273 public: 2274 ValueArray42(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2275 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2276 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2277 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2278 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2279 T42 v42) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), 2280 v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), 2281 v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), 2282 v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), 2283 v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), 2284 v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), 2285 v39_(v39), v40_(v40), v41_(v41), v42_(v42) {} 2286 2287 template <typename T> 2288 operator ParamGenerator<T>() const { 2289 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2290 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2291 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2292 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2293 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2294 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2295 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2296 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2297 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2298 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2299 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2300 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2301 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2302 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2303 static_cast<T>(v42_)}; 2304 return ValuesIn(array); 2305 } 2306 2307 private: 2308 // No implementation - assignment is unsupported. 2309 void operator=(const ValueArray42& other); 2310 2311 const T1 v1_; 2312 const T2 v2_; 2313 const T3 v3_; 2314 const T4 v4_; 2315 const T5 v5_; 2316 const T6 v6_; 2317 const T7 v7_; 2318 const T8 v8_; 2319 const T9 v9_; 2320 const T10 v10_; 2321 const T11 v11_; 2322 const T12 v12_; 2323 const T13 v13_; 2324 const T14 v14_; 2325 const T15 v15_; 2326 const T16 v16_; 2327 const T17 v17_; 2328 const T18 v18_; 2329 const T19 v19_; 2330 const T20 v20_; 2331 const T21 v21_; 2332 const T22 v22_; 2333 const T23 v23_; 2334 const T24 v24_; 2335 const T25 v25_; 2336 const T26 v26_; 2337 const T27 v27_; 2338 const T28 v28_; 2339 const T29 v29_; 2340 const T30 v30_; 2341 const T31 v31_; 2342 const T32 v32_; 2343 const T33 v33_; 2344 const T34 v34_; 2345 const T35 v35_; 2346 const T36 v36_; 2347 const T37 v37_; 2348 const T38 v38_; 2349 const T39 v39_; 2350 const T40 v40_; 2351 const T41 v41_; 2352 const T42 v42_; 2353}; 2354 2355template <typename T1, typename T2, typename T3, typename T4, typename T5, 2356 typename T6, typename T7, typename T8, typename T9, typename T10, 2357 typename T11, typename T12, typename T13, typename T14, typename T15, 2358 typename T16, typename T17, typename T18, typename T19, typename T20, 2359 typename T21, typename T22, typename T23, typename T24, typename T25, 2360 typename T26, typename T27, typename T28, typename T29, typename T30, 2361 typename T31, typename T32, typename T33, typename T34, typename T35, 2362 typename T36, typename T37, typename T38, typename T39, typename T40, 2363 typename T41, typename T42, typename T43> 2364class ValueArray43 { 2365 public: 2366 ValueArray43(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2367 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2368 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2369 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2370 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2371 T42 v42, T43 v43) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), 2372 v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), 2373 v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), 2374 v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), 2375 v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), 2376 v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), 2377 v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43) {} 2378 2379 template <typename T> 2380 operator ParamGenerator<T>() const { 2381 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2382 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2383 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2384 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2385 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2386 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2387 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2388 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2389 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2390 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2391 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2392 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2393 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2394 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2395 static_cast<T>(v42_), static_cast<T>(v43_)}; 2396 return ValuesIn(array); 2397 } 2398 2399 private: 2400 // No implementation - assignment is unsupported. 2401 void operator=(const ValueArray43& other); 2402 2403 const T1 v1_; 2404 const T2 v2_; 2405 const T3 v3_; 2406 const T4 v4_; 2407 const T5 v5_; 2408 const T6 v6_; 2409 const T7 v7_; 2410 const T8 v8_; 2411 const T9 v9_; 2412 const T10 v10_; 2413 const T11 v11_; 2414 const T12 v12_; 2415 const T13 v13_; 2416 const T14 v14_; 2417 const T15 v15_; 2418 const T16 v16_; 2419 const T17 v17_; 2420 const T18 v18_; 2421 const T19 v19_; 2422 const T20 v20_; 2423 const T21 v21_; 2424 const T22 v22_; 2425 const T23 v23_; 2426 const T24 v24_; 2427 const T25 v25_; 2428 const T26 v26_; 2429 const T27 v27_; 2430 const T28 v28_; 2431 const T29 v29_; 2432 const T30 v30_; 2433 const T31 v31_; 2434 const T32 v32_; 2435 const T33 v33_; 2436 const T34 v34_; 2437 const T35 v35_; 2438 const T36 v36_; 2439 const T37 v37_; 2440 const T38 v38_; 2441 const T39 v39_; 2442 const T40 v40_; 2443 const T41 v41_; 2444 const T42 v42_; 2445 const T43 v43_; 2446}; 2447 2448template <typename T1, typename T2, typename T3, typename T4, typename T5, 2449 typename T6, typename T7, typename T8, typename T9, typename T10, 2450 typename T11, typename T12, typename T13, typename T14, typename T15, 2451 typename T16, typename T17, typename T18, typename T19, typename T20, 2452 typename T21, typename T22, typename T23, typename T24, typename T25, 2453 typename T26, typename T27, typename T28, typename T29, typename T30, 2454 typename T31, typename T32, typename T33, typename T34, typename T35, 2455 typename T36, typename T37, typename T38, typename T39, typename T40, 2456 typename T41, typename T42, typename T43, typename T44> 2457class ValueArray44 { 2458 public: 2459 ValueArray44(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2460 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2461 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2462 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2463 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2464 T42 v42, T43 v43, T44 v44) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), 2465 v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), 2466 v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), 2467 v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), 2468 v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), 2469 v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), 2470 v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), 2471 v43_(v43), v44_(v44) {} 2472 2473 template <typename T> 2474 operator ParamGenerator<T>() const { 2475 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2476 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2477 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2478 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2479 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2480 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2481 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2482 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2483 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2484 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2485 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2486 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2487 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2488 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2489 static_cast<T>(v42_), static_cast<T>(v43_), static_cast<T>(v44_)}; 2490 return ValuesIn(array); 2491 } 2492 2493 private: 2494 // No implementation - assignment is unsupported. 2495 void operator=(const ValueArray44& other); 2496 2497 const T1 v1_; 2498 const T2 v2_; 2499 const T3 v3_; 2500 const T4 v4_; 2501 const T5 v5_; 2502 const T6 v6_; 2503 const T7 v7_; 2504 const T8 v8_; 2505 const T9 v9_; 2506 const T10 v10_; 2507 const T11 v11_; 2508 const T12 v12_; 2509 const T13 v13_; 2510 const T14 v14_; 2511 const T15 v15_; 2512 const T16 v16_; 2513 const T17 v17_; 2514 const T18 v18_; 2515 const T19 v19_; 2516 const T20 v20_; 2517 const T21 v21_; 2518 const T22 v22_; 2519 const T23 v23_; 2520 const T24 v24_; 2521 const T25 v25_; 2522 const T26 v26_; 2523 const T27 v27_; 2524 const T28 v28_; 2525 const T29 v29_; 2526 const T30 v30_; 2527 const T31 v31_; 2528 const T32 v32_; 2529 const T33 v33_; 2530 const T34 v34_; 2531 const T35 v35_; 2532 const T36 v36_; 2533 const T37 v37_; 2534 const T38 v38_; 2535 const T39 v39_; 2536 const T40 v40_; 2537 const T41 v41_; 2538 const T42 v42_; 2539 const T43 v43_; 2540 const T44 v44_; 2541}; 2542 2543template <typename T1, typename T2, typename T3, typename T4, typename T5, 2544 typename T6, typename T7, typename T8, typename T9, typename T10, 2545 typename T11, typename T12, typename T13, typename T14, typename T15, 2546 typename T16, typename T17, typename T18, typename T19, typename T20, 2547 typename T21, typename T22, typename T23, typename T24, typename T25, 2548 typename T26, typename T27, typename T28, typename T29, typename T30, 2549 typename T31, typename T32, typename T33, typename T34, typename T35, 2550 typename T36, typename T37, typename T38, typename T39, typename T40, 2551 typename T41, typename T42, typename T43, typename T44, typename T45> 2552class ValueArray45 { 2553 public: 2554 ValueArray45(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2555 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2556 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2557 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2558 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2559 T42 v42, T43 v43, T44 v44, T45 v45) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), 2560 v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), 2561 v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), 2562 v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), 2563 v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), 2564 v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), 2565 v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), 2566 v42_(v42), v43_(v43), v44_(v44), v45_(v45) {} 2567 2568 template <typename T> 2569 operator ParamGenerator<T>() const { 2570 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2571 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2572 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2573 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2574 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2575 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2576 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2577 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2578 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2579 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2580 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2581 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2582 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2583 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2584 static_cast<T>(v42_), static_cast<T>(v43_), static_cast<T>(v44_), 2585 static_cast<T>(v45_)}; 2586 return ValuesIn(array); 2587 } 2588 2589 private: 2590 // No implementation - assignment is unsupported. 2591 void operator=(const ValueArray45& other); 2592 2593 const T1 v1_; 2594 const T2 v2_; 2595 const T3 v3_; 2596 const T4 v4_; 2597 const T5 v5_; 2598 const T6 v6_; 2599 const T7 v7_; 2600 const T8 v8_; 2601 const T9 v9_; 2602 const T10 v10_; 2603 const T11 v11_; 2604 const T12 v12_; 2605 const T13 v13_; 2606 const T14 v14_; 2607 const T15 v15_; 2608 const T16 v16_; 2609 const T17 v17_; 2610 const T18 v18_; 2611 const T19 v19_; 2612 const T20 v20_; 2613 const T21 v21_; 2614 const T22 v22_; 2615 const T23 v23_; 2616 const T24 v24_; 2617 const T25 v25_; 2618 const T26 v26_; 2619 const T27 v27_; 2620 const T28 v28_; 2621 const T29 v29_; 2622 const T30 v30_; 2623 const T31 v31_; 2624 const T32 v32_; 2625 const T33 v33_; 2626 const T34 v34_; 2627 const T35 v35_; 2628 const T36 v36_; 2629 const T37 v37_; 2630 const T38 v38_; 2631 const T39 v39_; 2632 const T40 v40_; 2633 const T41 v41_; 2634 const T42 v42_; 2635 const T43 v43_; 2636 const T44 v44_; 2637 const T45 v45_; 2638}; 2639 2640template <typename T1, typename T2, typename T3, typename T4, typename T5, 2641 typename T6, typename T7, typename T8, typename T9, typename T10, 2642 typename T11, typename T12, typename T13, typename T14, typename T15, 2643 typename T16, typename T17, typename T18, typename T19, typename T20, 2644 typename T21, typename T22, typename T23, typename T24, typename T25, 2645 typename T26, typename T27, typename T28, typename T29, typename T30, 2646 typename T31, typename T32, typename T33, typename T34, typename T35, 2647 typename T36, typename T37, typename T38, typename T39, typename T40, 2648 typename T41, typename T42, typename T43, typename T44, typename T45, 2649 typename T46> 2650class ValueArray46 { 2651 public: 2652 ValueArray46(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2653 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2654 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2655 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2656 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2657 T42 v42, T43 v43, T44 v44, T45 v45, T46 v46) : v1_(v1), v2_(v2), v3_(v3), 2658 v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 2659 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 2660 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 2661 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 2662 v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), 2663 v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), 2664 v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46) {} 2665 2666 template <typename T> 2667 operator ParamGenerator<T>() const { 2668 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2669 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2670 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2671 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2672 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2673 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2674 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2675 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2676 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2677 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2678 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2679 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2680 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2681 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2682 static_cast<T>(v42_), static_cast<T>(v43_), static_cast<T>(v44_), 2683 static_cast<T>(v45_), static_cast<T>(v46_)}; 2684 return ValuesIn(array); 2685 } 2686 2687 private: 2688 // No implementation - assignment is unsupported. 2689 void operator=(const ValueArray46& other); 2690 2691 const T1 v1_; 2692 const T2 v2_; 2693 const T3 v3_; 2694 const T4 v4_; 2695 const T5 v5_; 2696 const T6 v6_; 2697 const T7 v7_; 2698 const T8 v8_; 2699 const T9 v9_; 2700 const T10 v10_; 2701 const T11 v11_; 2702 const T12 v12_; 2703 const T13 v13_; 2704 const T14 v14_; 2705 const T15 v15_; 2706 const T16 v16_; 2707 const T17 v17_; 2708 const T18 v18_; 2709 const T19 v19_; 2710 const T20 v20_; 2711 const T21 v21_; 2712 const T22 v22_; 2713 const T23 v23_; 2714 const T24 v24_; 2715 const T25 v25_; 2716 const T26 v26_; 2717 const T27 v27_; 2718 const T28 v28_; 2719 const T29 v29_; 2720 const T30 v30_; 2721 const T31 v31_; 2722 const T32 v32_; 2723 const T33 v33_; 2724 const T34 v34_; 2725 const T35 v35_; 2726 const T36 v36_; 2727 const T37 v37_; 2728 const T38 v38_; 2729 const T39 v39_; 2730 const T40 v40_; 2731 const T41 v41_; 2732 const T42 v42_; 2733 const T43 v43_; 2734 const T44 v44_; 2735 const T45 v45_; 2736 const T46 v46_; 2737}; 2738 2739template <typename T1, typename T2, typename T3, typename T4, typename T5, 2740 typename T6, typename T7, typename T8, typename T9, typename T10, 2741 typename T11, typename T12, typename T13, typename T14, typename T15, 2742 typename T16, typename T17, typename T18, typename T19, typename T20, 2743 typename T21, typename T22, typename T23, typename T24, typename T25, 2744 typename T26, typename T27, typename T28, typename T29, typename T30, 2745 typename T31, typename T32, typename T33, typename T34, typename T35, 2746 typename T36, typename T37, typename T38, typename T39, typename T40, 2747 typename T41, typename T42, typename T43, typename T44, typename T45, 2748 typename T46, typename T47> 2749class ValueArray47 { 2750 public: 2751 ValueArray47(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2752 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2753 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2754 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2755 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2756 T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47) : v1_(v1), v2_(v2), 2757 v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), 2758 v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), 2759 v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), 2760 v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), 2761 v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), 2762 v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), 2763 v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), 2764 v47_(v47) {} 2765 2766 template <typename T> 2767 operator ParamGenerator<T>() const { 2768 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2769 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2770 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2771 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2772 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2773 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2774 static_cast<T>(v18_), static_cast<T>(v19_), static_cast<T>(v20_), 2775 static_cast<T>(v21_), static_cast<T>(v22_), static_cast<T>(v23_), 2776 static_cast<T>(v24_), static_cast<T>(v25_), static_cast<T>(v26_), 2777 static_cast<T>(v27_), static_cast<T>(v28_), static_cast<T>(v29_), 2778 static_cast<T>(v30_), static_cast<T>(v31_), static_cast<T>(v32_), 2779 static_cast<T>(v33_), static_cast<T>(v34_), static_cast<T>(v35_), 2780 static_cast<T>(v36_), static_cast<T>(v37_), static_cast<T>(v38_), 2781 static_cast<T>(v39_), static_cast<T>(v40_), static_cast<T>(v41_), 2782 static_cast<T>(v42_), static_cast<T>(v43_), static_cast<T>(v44_), 2783 static_cast<T>(v45_), static_cast<T>(v46_), static_cast<T>(v47_)}; 2784 return ValuesIn(array); 2785 } 2786 2787 private: 2788 // No implementation - assignment is unsupported. 2789 void operator=(const ValueArray47& other); 2790 2791 const T1 v1_; 2792 const T2 v2_; 2793 const T3 v3_; 2794 const T4 v4_; 2795 const T5 v5_; 2796 const T6 v6_; 2797 const T7 v7_; 2798 const T8 v8_; 2799 const T9 v9_; 2800 const T10 v10_; 2801 const T11 v11_; 2802 const T12 v12_; 2803 const T13 v13_; 2804 const T14 v14_; 2805 const T15 v15_; 2806 const T16 v16_; 2807 const T17 v17_; 2808 const T18 v18_; 2809 const T19 v19_; 2810 const T20 v20_; 2811 const T21 v21_; 2812 const T22 v22_; 2813 const T23 v23_; 2814 const T24 v24_; 2815 const T25 v25_; 2816 const T26 v26_; 2817 const T27 v27_; 2818 const T28 v28_; 2819 const T29 v29_; 2820 const T30 v30_; 2821 const T31 v31_; 2822 const T32 v32_; 2823 const T33 v33_; 2824 const T34 v34_; 2825 const T35 v35_; 2826 const T36 v36_; 2827 const T37 v37_; 2828 const T38 v38_; 2829 const T39 v39_; 2830 const T40 v40_; 2831 const T41 v41_; 2832 const T42 v42_; 2833 const T43 v43_; 2834 const T44 v44_; 2835 const T45 v45_; 2836 const T46 v46_; 2837 const T47 v47_; 2838}; 2839 2840template <typename T1, typename T2, typename T3, typename T4, typename T5, 2841 typename T6, typename T7, typename T8, typename T9, typename T10, 2842 typename T11, typename T12, typename T13, typename T14, typename T15, 2843 typename T16, typename T17, typename T18, typename T19, typename T20, 2844 typename T21, typename T22, typename T23, typename T24, typename T25, 2845 typename T26, typename T27, typename T28, typename T29, typename T30, 2846 typename T31, typename T32, typename T33, typename T34, typename T35, 2847 typename T36, typename T37, typename T38, typename T39, typename T40, 2848 typename T41, typename T42, typename T43, typename T44, typename T45, 2849 typename T46, typename T47, typename T48> 2850class ValueArray48 { 2851 public: 2852 ValueArray48(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, 2853 T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, 2854 T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, 2855 T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, 2856 T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, 2857 T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48) : v1_(v1), 2858 v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), 2859 v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), 2860 v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), 2861 v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), 2862 v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), 2863 v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), 2864 v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), 2865 v46_(v46), v47_(v47), v48_(v48) {} 2866 2867 template <typename T> 2868 operator ParamGenerator<T>() const { 2869 const T array[] = {static_cast<T>(v1_), static_cast<T>(v2_), 2870 static_cast<T>(v3_), static_cast<T>(v4_), static_cast<T>(v5_), 2871 static_cast<T>(v6_), static_cast<T>(v7_), static_cast<T>(v8_), 2872 static_cast<T>(v9_), static_cast<T>(v10_), static_cast<T>(v11_), 2873 static_cast<T>(v12_), static_cast<T>(v13_), static_cast<T>(v14_), 2874 static_cast<T>(v15_), static_cast<T>(v16_), static_cast<T>(v17_), 2875 static_cast<T>(v18_), static_cast