PageRenderTime 161ms CodeModel.GetById 21ms app.highlight 129ms RepoModel.GetById 1ms app.codeStats 1ms

/thirdparty/breakpad/third_party/protobuf/protobuf/gtest/include/gtest/internal/gtest-param-util-generated.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 2057 lines | 1795 code | 175 blank | 87 comment | 0 complexity | 9d2a065fa65174e63ed2b02d584eca8f MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   1// This file was GENERATED by a script.  DO NOT EDIT BY HAND!!!
   2
   3// Copyright 2008 Google Inc.
   4// All Rights Reserved.
   5//
   6// Redistribution and use in source and binary forms, with or without
   7// modification, are permitted provided that the following conditions are
   8// met:
   9//
  10//     * Redistributions of source code must retain the above copyright
  11// notice, this list of conditions and the following disclaimer.
  12//     * Redistributions in binary form must reproduce the above
  13// copyright notice, this list of conditions and the following disclaimer
  14// in the documentation and/or other materials provided with the
  15// distribution.
  16//     * Neither the name of Google Inc. nor the names of its
  17// contributors may be used to endorse or promote products derived from
  18// this software without specific prior written permission.
  19//
  20// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31//
  32// Author: vladl@google.com (Vlad Losev)
  33
  34// Type and function utilities for implementing parameterized tests.
  35// This file is generated by a SCRIPT.  DO NOT EDIT BY HAND!
  36//
  37// Currently Google Test supports at most 50 arguments in Values,
  38// and at most 10 arguments in Combine. Please contact
  39// googletestframework@googlegroups.com if you need more.
  40// Please note that the number of arguments to Combine is limited
  41// by the maximum arity of the implementation of tr1::tuple which is
  42// currently set at 10.
  43
  44#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
  45#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
  46
  47// scripts/fuse_gtest.py depends on gtest's own header being #included
  48// *unconditionally*.  Therefore these #includes cannot be moved
  49// inside #if GTEST_HAS_PARAM_TEST.
  50#include <gtest/internal/gtest-param-util.h>
  51#include <gtest/internal/gtest-port.h>
  52
  53#if GTEST_HAS_PARAM_TEST
  54
  55namespace testing {
  56
  57// Forward declarations of ValuesIn(), which is implemented in
  58// include/gtest/gtest-param-test.h.
  59template <typename ForwardIterator>
  60internal::ParamGenerator<
  61    typename ::std::iterator_traits<ForwardIterator>::value_type> ValuesIn(
  62        ForwardIterator begin, ForwardIterator end);
  63
  64template <typename T, size_t N>
  65internal::ParamGenerator<T> ValuesIn(const T (&array)[N]);
  66
  67template <class Container>
  68internal::ParamGenerator<typename Container::value_type> ValuesIn(
  69    const Container& container);
  70
  71namespace internal {
  72
  73// Used in the Values() function to provide polymorphic capabilities.
  74template <typename T1>
  75class ValueArray1 {
  76 public:
  77  explicit ValueArray1(T1 v1) : v1_(v1) {}
  78
  79  template <typename T>
  80  operator ParamGenerator<T>() const { return ValuesIn(&v1_, &v1_ + 1); }
  81
  82 private:
  83  // No implementation - assignment is unsupported.
  84  void operator=(const ValueArray1& other);
  85
  86  const T1 v1_;
  87};
  88
  89template <typename T1, typename T2>
  90class ValueArray2 {
  91 public:
  92  ValueArray2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {}
  93
  94  template <typename T>
  95  operator ParamGenerator<T>() const {
  96    const T array[] = {v1_, v2_};
  97    return ValuesIn(array);
  98  }
  99
 100 private:
 101  // No implementation - assignment is unsupported.
 102  void operator=(const ValueArray2& other);
 103
 104  const T1 v1_;
 105  const T2 v2_;
 106};
 107
 108template <typename T1, typename T2, typename T3>
 109class ValueArray3 {
 110 public:
 111  ValueArray3(T1 v1, T2 v2, T3 v3) : v1_(v1), v2_(v2), v3_(v3) {}
 112
 113  template <typename T>
 114  operator ParamGenerator<T>() const {
 115    const T array[] = {v1_, v2_, v3_};
 116    return ValuesIn(array);
 117  }
 118
 119 private:
 120  // No implementation - assignment is unsupported.
 121  void operator=(const ValueArray3& other);
 122
 123  const T1 v1_;
 124  const T2 v2_;
 125  const T3 v3_;
 126};
 127
 128template <typename T1, typename T2, typename T3, typename T4>
 129class ValueArray4 {
 130 public:
 131  ValueArray4(T1 v1, T2 v2, T3 v3, T4 v4) : v1_(v1), v2_(v2), v3_(v3),
 132      v4_(v4) {}
 133
 134  template <typename T>
 135  operator ParamGenerator<T>() const {
 136    const T array[] = {v1_, v2_, v3_, v4_};
 137    return ValuesIn(array);
 138  }
 139
 140 private:
 141  // No implementation - assignment is unsupported.
 142  void operator=(const ValueArray4& other);
 143
 144  const T1 v1_;
 145  const T2 v2_;
 146  const T3 v3_;
 147  const T4 v4_;
 148};
 149
 150template <typename T1, typename T2, typename T3, typename T4, typename T5>
 151class ValueArray5 {
 152 public:
 153  ValueArray5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) : v1_(v1), v2_(v2), v3_(v3),
 154      v4_(v4), v5_(v5) {}
 155
 156  template <typename T>
 157  operator ParamGenerator<T>() const {
 158    const T array[] = {v1_, v2_, v3_, v4_, v5_};
 159    return ValuesIn(array);
 160  }
 161
 162 private:
 163  // No implementation - assignment is unsupported.
 164  void operator=(const ValueArray5& other);
 165
 166  const T1 v1_;
 167  const T2 v2_;
 168  const T3 v3_;
 169  const T4 v4_;
 170  const T5 v5_;
 171};
 172
 173template <typename T1, typename T2, typename T3, typename T4, typename T5,
 174    typename T6>
 175class ValueArray6 {
 176 public:
 177  ValueArray6(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) : v1_(v1), v2_(v2),
 178      v3_(v3), v4_(v4), v5_(v5), v6_(v6) {}
 179
 180  template <typename T>
 181  operator ParamGenerator<T>() const {
 182    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_};
 183    return ValuesIn(array);
 184  }
 185
 186 private:
 187  // No implementation - assignment is unsupported.
 188  void operator=(const ValueArray6& other);
 189
 190  const T1 v1_;
 191  const T2 v2_;
 192  const T3 v3_;
 193  const T4 v4_;
 194  const T5 v5_;
 195  const T6 v6_;
 196};
 197
 198template <typename T1, typename T2, typename T3, typename T4, typename T5,
 199    typename T6, typename T7>
 200class ValueArray7 {
 201 public:
 202  ValueArray7(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) : v1_(v1),
 203      v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7) {}
 204
 205  template <typename T>
 206  operator ParamGenerator<T>() const {
 207    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_};
 208    return ValuesIn(array);
 209  }
 210
 211 private:
 212  // No implementation - assignment is unsupported.
 213  void operator=(const ValueArray7& other);
 214
 215  const T1 v1_;
 216  const T2 v2_;
 217  const T3 v3_;
 218  const T4 v4_;
 219  const T5 v5_;
 220  const T6 v6_;
 221  const T7 v7_;
 222};
 223
 224template <typename T1, typename T2, typename T3, typename T4, typename T5,
 225    typename T6, typename T7, typename T8>
 226class ValueArray8 {
 227 public:
 228  ValueArray8(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7,
 229      T8 v8) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 230      v8_(v8) {}
 231
 232  template <typename T>
 233  operator ParamGenerator<T>() const {
 234    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_};
 235    return ValuesIn(array);
 236  }
 237
 238 private:
 239  // No implementation - assignment is unsupported.
 240  void operator=(const ValueArray8& other);
 241
 242  const T1 v1_;
 243  const T2 v2_;
 244  const T3 v3_;
 245  const T4 v4_;
 246  const T5 v5_;
 247  const T6 v6_;
 248  const T7 v7_;
 249  const T8 v8_;
 250};
 251
 252template <typename T1, typename T2, typename T3, typename T4, typename T5,
 253    typename T6, typename T7, typename T8, typename T9>
 254class ValueArray9 {
 255 public:
 256  ValueArray9(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8,
 257      T9 v9) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 258      v8_(v8), v9_(v9) {}
 259
 260  template <typename T>
 261  operator ParamGenerator<T>() const {
 262    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_};
 263    return ValuesIn(array);
 264  }
 265
 266 private:
 267  // No implementation - assignment is unsupported.
 268  void operator=(const ValueArray9& other);
 269
 270  const T1 v1_;
 271  const T2 v2_;
 272  const T3 v3_;
 273  const T4 v4_;
 274  const T5 v5_;
 275  const T6 v6_;
 276  const T7 v7_;
 277  const T8 v8_;
 278  const T9 v9_;
 279};
 280
 281template <typename T1, typename T2, typename T3, typename T4, typename T5,
 282    typename T6, typename T7, typename T8, typename T9, typename T10>
 283class ValueArray10 {
 284 public:
 285  ValueArray10(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 286      T10 v10) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 287      v8_(v8), v9_(v9), v10_(v10) {}
 288
 289  template <typename T>
 290  operator ParamGenerator<T>() const {
 291    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_};
 292    return ValuesIn(array);
 293  }
 294
 295 private:
 296  // No implementation - assignment is unsupported.
 297  void operator=(const ValueArray10& other);
 298
 299  const T1 v1_;
 300  const T2 v2_;
 301  const T3 v3_;
 302  const T4 v4_;
 303  const T5 v5_;
 304  const T6 v6_;
 305  const T7 v7_;
 306  const T8 v8_;
 307  const T9 v9_;
 308  const T10 v10_;
 309};
 310
 311template <typename T1, typename T2, typename T3, typename T4, typename T5,
 312    typename T6, typename T7, typename T8, typename T9, typename T10,
 313    typename T11>
 314class ValueArray11 {
 315 public:
 316  ValueArray11(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 317      T10 v10, T11 v11) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6),
 318      v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11) {}
 319
 320  template <typename T>
 321  operator ParamGenerator<T>() const {
 322    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_};
 323    return ValuesIn(array);
 324  }
 325
 326 private:
 327  // No implementation - assignment is unsupported.
 328  void operator=(const ValueArray11& other);
 329
 330  const T1 v1_;
 331  const T2 v2_;
 332  const T3 v3_;
 333  const T4 v4_;
 334  const T5 v5_;
 335  const T6 v6_;
 336  const T7 v7_;
 337  const T8 v8_;
 338  const T9 v9_;
 339  const T10 v10_;
 340  const T11 v11_;
 341};
 342
 343template <typename T1, typename T2, typename T3, typename T4, typename T5,
 344    typename T6, typename T7, typename T8, typename T9, typename T10,
 345    typename T11, typename T12>
 346class ValueArray12 {
 347 public:
 348  ValueArray12(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 349      T10 v10, T11 v11, T12 v12) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5),
 350      v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12) {}
 351
 352  template <typename T>
 353  operator ParamGenerator<T>() const {
 354    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 355        v12_};
 356    return ValuesIn(array);
 357  }
 358
 359 private:
 360  // No implementation - assignment is unsupported.
 361  void operator=(const ValueArray12& other);
 362
 363  const T1 v1_;
 364  const T2 v2_;
 365  const T3 v3_;
 366  const T4 v4_;
 367  const T5 v5_;
 368  const T6 v6_;
 369  const T7 v7_;
 370  const T8 v8_;
 371  const T9 v9_;
 372  const T10 v10_;
 373  const T11 v11_;
 374  const T12 v12_;
 375};
 376
 377template <typename T1, typename T2, typename T3, typename T4, typename T5,
 378    typename T6, typename T7, typename T8, typename T9, typename T10,
 379    typename T11, typename T12, typename T13>
 380class ValueArray13 {
 381 public:
 382  ValueArray13(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 383      T10 v10, T11 v11, T12 v12, T13 v13) : v1_(v1), v2_(v2), v3_(v3), v4_(v4),
 384      v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11),
 385      v12_(v12), v13_(v13) {}
 386
 387  template <typename T>
 388  operator ParamGenerator<T>() const {
 389    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 390        v12_, v13_};
 391    return ValuesIn(array);
 392  }
 393
 394 private:
 395  // No implementation - assignment is unsupported.
 396  void operator=(const ValueArray13& other);
 397
 398  const T1 v1_;
 399  const T2 v2_;
 400  const T3 v3_;
 401  const T4 v4_;
 402  const T5 v5_;
 403  const T6 v6_;
 404  const T7 v7_;
 405  const T8 v8_;
 406  const T9 v9_;
 407  const T10 v10_;
 408  const T11 v11_;
 409  const T12 v12_;
 410  const T13 v13_;
 411};
 412
 413template <typename T1, typename T2, typename T3, typename T4, typename T5,
 414    typename T6, typename T7, typename T8, typename T9, typename T10,
 415    typename T11, typename T12, typename T13, typename T14>
 416class ValueArray14 {
 417 public:
 418  ValueArray14(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 419      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) : v1_(v1), v2_(v2), v3_(v3),
 420      v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
 421      v11_(v11), v12_(v12), v13_(v13), v14_(v14) {}
 422
 423  template <typename T>
 424  operator ParamGenerator<T>() const {
 425    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 426        v12_, v13_, v14_};
 427    return ValuesIn(array);
 428  }
 429
 430 private:
 431  // No implementation - assignment is unsupported.
 432  void operator=(const ValueArray14& other);
 433
 434  const T1 v1_;
 435  const T2 v2_;
 436  const T3 v3_;
 437  const T4 v4_;
 438  const T5 v5_;
 439  const T6 v6_;
 440  const T7 v7_;
 441  const T8 v8_;
 442  const T9 v9_;
 443  const T10 v10_;
 444  const T11 v11_;
 445  const T12 v12_;
 446  const T13 v13_;
 447  const T14 v14_;
 448};
 449
 450template <typename T1, typename T2, typename T3, typename T4, typename T5,
 451    typename T6, typename T7, typename T8, typename T9, typename T10,
 452    typename T11, typename T12, typename T13, typename T14, typename T15>
 453class ValueArray15 {
 454 public:
 455  ValueArray15(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 456      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) : v1_(v1), v2_(v2),
 457      v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
 458      v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15) {}
 459
 460  template <typename T>
 461  operator ParamGenerator<T>() const {
 462    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 463        v12_, v13_, v14_, v15_};
 464    return ValuesIn(array);
 465  }
 466
 467 private:
 468  // No implementation - assignment is unsupported.
 469  void operator=(const ValueArray15& other);
 470
 471  const T1 v1_;
 472  const T2 v2_;
 473  const T3 v3_;
 474  const T4 v4_;
 475  const T5 v5_;
 476  const T6 v6_;
 477  const T7 v7_;
 478  const T8 v8_;
 479  const T9 v9_;
 480  const T10 v10_;
 481  const T11 v11_;
 482  const T12 v12_;
 483  const T13 v13_;
 484  const T14 v14_;
 485  const T15 v15_;
 486};
 487
 488template <typename T1, typename T2, typename T3, typename T4, typename T5,
 489    typename T6, typename T7, typename T8, typename T9, typename T10,
 490    typename T11, typename T12, typename T13, typename T14, typename T15,
 491    typename T16>
 492class ValueArray16 {
 493 public:
 494  ValueArray16(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 495      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16) : v1_(v1),
 496      v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9),
 497      v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15),
 498      v16_(v16) {}
 499
 500  template <typename T>
 501  operator ParamGenerator<T>() const {
 502    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 503        v12_, v13_, v14_, v15_, v16_};
 504    return ValuesIn(array);
 505  }
 506
 507 private:
 508  // No implementation - assignment is unsupported.
 509  void operator=(const ValueArray16& other);
 510
 511  const T1 v1_;
 512  const T2 v2_;
 513  const T3 v3_;
 514  const T4 v4_;
 515  const T5 v5_;
 516  const T6 v6_;
 517  const T7 v7_;
 518  const T8 v8_;
 519  const T9 v9_;
 520  const T10 v10_;
 521  const T11 v11_;
 522  const T12 v12_;
 523  const T13 v13_;
 524  const T14 v14_;
 525  const T15 v15_;
 526  const T16 v16_;
 527};
 528
 529template <typename T1, typename T2, typename T3, typename T4, typename T5,
 530    typename T6, typename T7, typename T8, typename T9, typename T10,
 531    typename T11, typename T12, typename T13, typename T14, typename T15,
 532    typename T16, typename T17>
 533class ValueArray17 {
 534 public:
 535  ValueArray17(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 536      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16,
 537      T17 v17) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 538      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
 539      v15_(v15), v16_(v16), v17_(v17) {}
 540
 541  template <typename T>
 542  operator ParamGenerator<T>() const {
 543    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 544        v12_, v13_, v14_, v15_, v16_, v17_};
 545    return ValuesIn(array);
 546  }
 547
 548 private:
 549  // No implementation - assignment is unsupported.
 550  void operator=(const ValueArray17& other);
 551
 552  const T1 v1_;
 553  const T2 v2_;
 554  const T3 v3_;
 555  const T4 v4_;
 556  const T5 v5_;
 557  const T6 v6_;
 558  const T7 v7_;
 559  const T8 v8_;
 560  const T9 v9_;
 561  const T10 v10_;
 562  const T11 v11_;
 563  const T12 v12_;
 564  const T13 v13_;
 565  const T14 v14_;
 566  const T15 v15_;
 567  const T16 v16_;
 568  const T17 v17_;
 569};
 570
 571template <typename T1, typename T2, typename T3, typename T4, typename T5,
 572    typename T6, typename T7, typename T8, typename T9, typename T10,
 573    typename T11, typename T12, typename T13, typename T14, typename T15,
 574    typename T16, typename T17, typename T18>
 575class ValueArray18 {
 576 public:
 577  ValueArray18(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 578      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 579      T18 v18) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 580      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
 581      v15_(v15), v16_(v16), v17_(v17), v18_(v18) {}
 582
 583  template <typename T>
 584  operator ParamGenerator<T>() const {
 585    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 586        v12_, v13_, v14_, v15_, v16_, v17_, v18_};
 587    return ValuesIn(array);
 588  }
 589
 590 private:
 591  // No implementation - assignment is unsupported.
 592  void operator=(const ValueArray18& other);
 593
 594  const T1 v1_;
 595  const T2 v2_;
 596  const T3 v3_;
 597  const T4 v4_;
 598  const T5 v5_;
 599  const T6 v6_;
 600  const T7 v7_;
 601  const T8 v8_;
 602  const T9 v9_;
 603  const T10 v10_;
 604  const T11 v11_;
 605  const T12 v12_;
 606  const T13 v13_;
 607  const T14 v14_;
 608  const T15 v15_;
 609  const T16 v16_;
 610  const T17 v17_;
 611  const T18 v18_;
 612};
 613
 614template <typename T1, typename T2, typename T3, typename T4, typename T5,
 615    typename T6, typename T7, typename T8, typename T9, typename T10,
 616    typename T11, typename T12, typename T13, typename T14, typename T15,
 617    typename T16, typename T17, typename T18, typename T19>
 618class ValueArray19 {
 619 public:
 620  ValueArray19(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 621      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 622      T18 v18, T19 v19) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6),
 623      v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13),
 624      v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19) {}
 625
 626  template <typename T>
 627  operator ParamGenerator<T>() const {
 628    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 629        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_};
 630    return ValuesIn(array);
 631  }
 632
 633 private:
 634  // No implementation - assignment is unsupported.
 635  void operator=(const ValueArray19& other);
 636
 637  const T1 v1_;
 638  const T2 v2_;
 639  const T3 v3_;
 640  const T4 v4_;
 641  const T5 v5_;
 642  const T6 v6_;
 643  const T7 v7_;
 644  const T8 v8_;
 645  const T9 v9_;
 646  const T10 v10_;
 647  const T11 v11_;
 648  const T12 v12_;
 649  const T13 v13_;
 650  const T14 v14_;
 651  const T15 v15_;
 652  const T16 v16_;
 653  const T17 v17_;
 654  const T18 v18_;
 655  const T19 v19_;
 656};
 657
 658template <typename T1, typename T2, typename T3, typename T4, typename T5,
 659    typename T6, typename T7, typename T8, typename T9, typename T10,
 660    typename T11, typename T12, typename T13, typename T14, typename T15,
 661    typename T16, typename T17, typename T18, typename T19, typename T20>
 662class ValueArray20 {
 663 public:
 664  ValueArray20(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 665      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 666      T18 v18, T19 v19, T20 v20) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5),
 667      v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12),
 668      v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18),
 669      v19_(v19), v20_(v20) {}
 670
 671  template <typename T>
 672  operator ParamGenerator<T>() const {
 673    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 674        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_};
 675    return ValuesIn(array);
 676  }
 677
 678 private:
 679  // No implementation - assignment is unsupported.
 680  void operator=(const ValueArray20& other);
 681
 682  const T1 v1_;
 683  const T2 v2_;
 684  const T3 v3_;
 685  const T4 v4_;
 686  const T5 v5_;
 687  const T6 v6_;
 688  const T7 v7_;
 689  const T8 v8_;
 690  const T9 v9_;
 691  const T10 v10_;
 692  const T11 v11_;
 693  const T12 v12_;
 694  const T13 v13_;
 695  const T14 v14_;
 696  const T15 v15_;
 697  const T16 v16_;
 698  const T17 v17_;
 699  const T18 v18_;
 700  const T19 v19_;
 701  const T20 v20_;
 702};
 703
 704template <typename T1, typename T2, typename T3, typename T4, typename T5,
 705    typename T6, typename T7, typename T8, typename T9, typename T10,
 706    typename T11, typename T12, typename T13, typename T14, typename T15,
 707    typename T16, typename T17, typename T18, typename T19, typename T20,
 708    typename T21>
 709class ValueArray21 {
 710 public:
 711  ValueArray21(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 712      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 713      T18 v18, T19 v19, T20 v20, T21 v21) : v1_(v1), v2_(v2), v3_(v3), v4_(v4),
 714      v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11),
 715      v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17),
 716      v18_(v18), v19_(v19), v20_(v20), v21_(v21) {}
 717
 718  template <typename T>
 719  operator ParamGenerator<T>() const {
 720    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 721        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_};
 722    return ValuesIn(array);
 723  }
 724
 725 private:
 726  // No implementation - assignment is unsupported.
 727  void operator=(const ValueArray21& other);
 728
 729  const T1 v1_;
 730  const T2 v2_;
 731  const T3 v3_;
 732  const T4 v4_;
 733  const T5 v5_;
 734  const T6 v6_;
 735  const T7 v7_;
 736  const T8 v8_;
 737  const T9 v9_;
 738  const T10 v10_;
 739  const T11 v11_;
 740  const T12 v12_;
 741  const T13 v13_;
 742  const T14 v14_;
 743  const T15 v15_;
 744  const T16 v16_;
 745  const T17 v17_;
 746  const T18 v18_;
 747  const T19 v19_;
 748  const T20 v20_;
 749  const T21 v21_;
 750};
 751
 752template <typename T1, typename T2, typename T3, typename T4, typename T5,
 753    typename T6, typename T7, typename T8, typename T9, typename T10,
 754    typename T11, typename T12, typename T13, typename T14, typename T15,
 755    typename T16, typename T17, typename T18, typename T19, typename T20,
 756    typename T21, typename T22>
 757class ValueArray22 {
 758 public:
 759  ValueArray22(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 760      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 761      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22) : v1_(v1), v2_(v2), v3_(v3),
 762      v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
 763      v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16),
 764      v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22) {}
 765
 766  template <typename T>
 767  operator ParamGenerator<T>() const {
 768    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 769        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_};
 770    return ValuesIn(array);
 771  }
 772
 773 private:
 774  // No implementation - assignment is unsupported.
 775  void operator=(const ValueArray22& other);
 776
 777  const T1 v1_;
 778  const T2 v2_;
 779  const T3 v3_;
 780  const T4 v4_;
 781  const T5 v5_;
 782  const T6 v6_;
 783  const T7 v7_;
 784  const T8 v8_;
 785  const T9 v9_;
 786  const T10 v10_;
 787  const T11 v11_;
 788  const T12 v12_;
 789  const T13 v13_;
 790  const T14 v14_;
 791  const T15 v15_;
 792  const T16 v16_;
 793  const T17 v17_;
 794  const T18 v18_;
 795  const T19 v19_;
 796  const T20 v20_;
 797  const T21 v21_;
 798  const T22 v22_;
 799};
 800
 801template <typename T1, typename T2, typename T3, typename T4, typename T5,
 802    typename T6, typename T7, typename T8, typename T9, typename T10,
 803    typename T11, typename T12, typename T13, typename T14, typename T15,
 804    typename T16, typename T17, typename T18, typename T19, typename T20,
 805    typename T21, typename T22, typename T23>
 806class ValueArray23 {
 807 public:
 808  ValueArray23(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 809      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 810      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23) : v1_(v1), v2_(v2),
 811      v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
 812      v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16),
 813      v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22),
 814      v23_(v23) {}
 815
 816  template <typename T>
 817  operator ParamGenerator<T>() const {
 818    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 819        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_,
 820        v23_};
 821    return ValuesIn(array);
 822  }
 823
 824 private:
 825  // No implementation - assignment is unsupported.
 826  void operator=(const ValueArray23& other);
 827
 828  const T1 v1_;
 829  const T2 v2_;
 830  const T3 v3_;
 831  const T4 v4_;
 832  const T5 v5_;
 833  const T6 v6_;
 834  const T7 v7_;
 835  const T8 v8_;
 836  const T9 v9_;
 837  const T10 v10_;
 838  const T11 v11_;
 839  const T12 v12_;
 840  const T13 v13_;
 841  const T14 v14_;
 842  const T15 v15_;
 843  const T16 v16_;
 844  const T17 v17_;
 845  const T18 v18_;
 846  const T19 v19_;
 847  const T20 v20_;
 848  const T21 v21_;
 849  const T22 v22_;
 850  const T23 v23_;
 851};
 852
 853template <typename T1, typename T2, typename T3, typename T4, typename T5,
 854    typename T6, typename T7, typename T8, typename T9, typename T10,
 855    typename T11, typename T12, typename T13, typename T14, typename T15,
 856    typename T16, typename T17, typename T18, typename T19, typename T20,
 857    typename T21, typename T22, typename T23, typename T24>
 858class ValueArray24 {
 859 public:
 860  ValueArray24(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 861      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 862      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24) : v1_(v1),
 863      v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9),
 864      v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15),
 865      v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21),
 866      v22_(v22), v23_(v23), v24_(v24) {}
 867
 868  template <typename T>
 869  operator ParamGenerator<T>() const {
 870    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 871        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
 872        v24_};
 873    return ValuesIn(array);
 874  }
 875
 876 private:
 877  // No implementation - assignment is unsupported.
 878  void operator=(const ValueArray24& other);
 879
 880  const T1 v1_;
 881  const T2 v2_;
 882  const T3 v3_;
 883  const T4 v4_;
 884  const T5 v5_;
 885  const T6 v6_;
 886  const T7 v7_;
 887  const T8 v8_;
 888  const T9 v9_;
 889  const T10 v10_;
 890  const T11 v11_;
 891  const T12 v12_;
 892  const T13 v13_;
 893  const T14 v14_;
 894  const T15 v15_;
 895  const T16 v16_;
 896  const T17 v17_;
 897  const T18 v18_;
 898  const T19 v19_;
 899  const T20 v20_;
 900  const T21 v21_;
 901  const T22 v22_;
 902  const T23 v23_;
 903  const T24 v24_;
 904};
 905
 906template <typename T1, typename T2, typename T3, typename T4, typename T5,
 907    typename T6, typename T7, typename T8, typename T9, typename T10,
 908    typename T11, typename T12, typename T13, typename T14, typename T15,
 909    typename T16, typename T17, typename T18, typename T19, typename T20,
 910    typename T21, typename T22, typename T23, typename T24, typename T25>
 911class ValueArray25 {
 912 public:
 913  ValueArray25(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 914      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 915      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24,
 916      T25 v25) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 917      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
 918      v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20),
 919      v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25) {}
 920
 921  template <typename T>
 922  operator ParamGenerator<T>() const {
 923    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 924        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
 925        v24_, v25_};
 926    return ValuesIn(array);
 927  }
 928
 929 private:
 930  // No implementation - assignment is unsupported.
 931  void operator=(const ValueArray25& other);
 932
 933  const T1 v1_;
 934  const T2 v2_;
 935  const T3 v3_;
 936  const T4 v4_;
 937  const T5 v5_;
 938  const T6 v6_;
 939  const T7 v7_;
 940  const T8 v8_;
 941  const T9 v9_;
 942  const T10 v10_;
 943  const T11 v11_;
 944  const T12 v12_;
 945  const T13 v13_;
 946  const T14 v14_;
 947  const T15 v15_;
 948  const T16 v16_;
 949  const T17 v17_;
 950  const T18 v18_;
 951  const T19 v19_;
 952  const T20 v20_;
 953  const T21 v21_;
 954  const T22 v22_;
 955  const T23 v23_;
 956  const T24 v24_;
 957  const T25 v25_;
 958};
 959
 960template <typename T1, typename T2, typename T3, typename T4, typename T5,
 961    typename T6, typename T7, typename T8, typename T9, typename T10,
 962    typename T11, typename T12, typename T13, typename T14, typename T15,
 963    typename T16, typename T17, typename T18, typename T19, typename T20,
 964    typename T21, typename T22, typename T23, typename T24, typename T25,
 965    typename T26>
 966class ValueArray26 {
 967 public:
 968  ValueArray26(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
 969      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
 970      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
 971      T26 v26) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
 972      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
 973      v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20),
 974      v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26) {}
 975
 976  template <typename T>
 977  operator ParamGenerator<T>() const {
 978    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
 979        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
 980        v24_, v25_, v26_};
 981    return ValuesIn(array);
 982  }
 983
 984 private:
 985  // No implementation - assignment is unsupported.
 986  void operator=(const ValueArray26& other);
 987
 988  const T1 v1_;
 989  const T2 v2_;
 990  const T3 v3_;
 991  const T4 v4_;
 992  const T5 v5_;
 993  const T6 v6_;
 994  const T7 v7_;
 995  const T8 v8_;
 996  const T9 v9_;
 997  const T10 v10_;
 998  const T11 v11_;
 999  const T12 v12_;
1000  const T13 v13_;
1001  const T14 v14_;
1002  const T15 v15_;
1003  const T16 v16_;
1004  const T17 v17_;
1005  const T18 v18_;
1006  const T19 v19_;
1007  const T20 v20_;
1008  const T21 v21_;
1009  const T22 v22_;
1010  const T23 v23_;
1011  const T24 v24_;
1012  const T25 v25_;
1013  const T26 v26_;
1014};
1015
1016template <typename T1, typename T2, typename T3, typename T4, typename T5,
1017    typename T6, typename T7, typename T8, typename T9, typename T10,
1018    typename T11, typename T12, typename T13, typename T14, typename T15,
1019    typename T16, typename T17, typename T18, typename T19, typename T20,
1020    typename T21, typename T22, typename T23, typename T24, typename T25,
1021    typename T26, typename T27>
1022class ValueArray27 {
1023 public:
1024  ValueArray27(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1025      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1026      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1027      T26 v26, T27 v27) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6),
1028      v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13),
1029      v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19),
1030      v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25),
1031      v26_(v26), v27_(v27) {}
1032
1033  template <typename T>
1034  operator ParamGenerator<T>() const {
1035    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1036        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1037        v24_, v25_, v26_, v27_};
1038    return ValuesIn(array);
1039  }
1040
1041 private:
1042  // No implementation - assignment is unsupported.
1043  void operator=(const ValueArray27& other);
1044
1045  const T1 v1_;
1046  const T2 v2_;
1047  const T3 v3_;
1048  const T4 v4_;
1049  const T5 v5_;
1050  const T6 v6_;
1051  const T7 v7_;
1052  const T8 v8_;
1053  const T9 v9_;
1054  const T10 v10_;
1055  const T11 v11_;
1056  const T12 v12_;
1057  const T13 v13_;
1058  const T14 v14_;
1059  const T15 v15_;
1060  const T16 v16_;
1061  const T17 v17_;
1062  const T18 v18_;
1063  const T19 v19_;
1064  const T20 v20_;
1065  const T21 v21_;
1066  const T22 v22_;
1067  const T23 v23_;
1068  const T24 v24_;
1069  const T25 v25_;
1070  const T26 v26_;
1071  const T27 v27_;
1072};
1073
1074template <typename T1, typename T2, typename T3, typename T4, typename T5,
1075    typename T6, typename T7, typename T8, typename T9, typename T10,
1076    typename T11, typename T12, typename T13, typename T14, typename T15,
1077    typename T16, typename T17, typename T18, typename T19, typename T20,
1078    typename T21, typename T22, typename T23, typename T24, typename T25,
1079    typename T26, typename T27, typename T28>
1080class ValueArray28 {
1081 public:
1082  ValueArray28(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1083      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1084      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1085      T26 v26, T27 v27, T28 v28) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5),
1086      v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12),
1087      v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18),
1088      v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24),
1089      v25_(v25), v26_(v26), v27_(v27), v28_(v28) {}
1090
1091  template <typename T>
1092  operator ParamGenerator<T>() const {
1093    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1094        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1095        v24_, v25_, v26_, v27_, v28_};
1096    return ValuesIn(array);
1097  }
1098
1099 private:
1100  // No implementation - assignment is unsupported.
1101  void operator=(const ValueArray28& other);
1102
1103  const T1 v1_;
1104  const T2 v2_;
1105  const T3 v3_;
1106  const T4 v4_;
1107  const T5 v5_;
1108  const T6 v6_;
1109  const T7 v7_;
1110  const T8 v8_;
1111  const T9 v9_;
1112  const T10 v10_;
1113  const T11 v11_;
1114  const T12 v12_;
1115  const T13 v13_;
1116  const T14 v14_;
1117  const T15 v15_;
1118  const T16 v16_;
1119  const T17 v17_;
1120  const T18 v18_;
1121  const T19 v19_;
1122  const T20 v20_;
1123  const T21 v21_;
1124  const T22 v22_;
1125  const T23 v23_;
1126  const T24 v24_;
1127  const T25 v25_;
1128  const T26 v26_;
1129  const T27 v27_;
1130  const T28 v28_;
1131};
1132
1133template <typename T1, typename T2, typename T3, typename T4, typename T5,
1134    typename T6, typename T7, typename T8, typename T9, typename T10,
1135    typename T11, typename T12, typename T13, typename T14, typename T15,
1136    typename T16, typename T17, typename T18, typename T19, typename T20,
1137    typename T21, typename T22, typename T23, typename T24, typename T25,
1138    typename T26, typename T27, typename T28, typename T29>
1139class ValueArray29 {
1140 public:
1141  ValueArray29(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1142      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1143      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1144      T26 v26, T27 v27, T28 v28, T29 v29) : v1_(v1), v2_(v2), v3_(v3), v4_(v4),
1145      v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11),
1146      v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17),
1147      v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23),
1148      v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29) {}
1149
1150  template <typename T>
1151  operator ParamGenerator<T>() const {
1152    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1153        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1154        v24_, v25_, v26_, v27_, v28_, v29_};
1155    return ValuesIn(array);
1156  }
1157
1158 private:
1159  // No implementation - assignment is unsupported.
1160  void operator=(const ValueArray29& other);
1161
1162  const T1 v1_;
1163  const T2 v2_;
1164  const T3 v3_;
1165  const T4 v4_;
1166  const T5 v5_;
1167  const T6 v6_;
1168  const T7 v7_;
1169  const T8 v8_;
1170  const T9 v9_;
1171  const T10 v10_;
1172  const T11 v11_;
1173  const T12 v12_;
1174  const T13 v13_;
1175  const T14 v14_;
1176  const T15 v15_;
1177  const T16 v16_;
1178  const T17 v17_;
1179  const T18 v18_;
1180  const T19 v19_;
1181  const T20 v20_;
1182  const T21 v21_;
1183  const T22 v22_;
1184  const T23 v23_;
1185  const T24 v24_;
1186  const T25 v25_;
1187  const T26 v26_;
1188  const T27 v27_;
1189  const T28 v28_;
1190  const T29 v29_;
1191};
1192
1193template <typename T1, typename T2, typename T3, typename T4, typename T5,
1194    typename T6, typename T7, typename T8, typename T9, typename T10,
1195    typename T11, typename T12, typename T13, typename T14, typename T15,
1196    typename T16, typename T17, typename T18, typename T19, typename T20,
1197    typename T21, typename T22, typename T23, typename T24, typename T25,
1198    typename T26, typename T27, typename T28, typename T29, typename T30>
1199class ValueArray30 {
1200 public:
1201  ValueArray30(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1202      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1203      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1204      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) : v1_(v1), v2_(v2), v3_(v3),
1205      v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
1206      v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16),
1207      v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22),
1208      v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28),
1209      v29_(v29), v30_(v30) {}
1210
1211  template <typename T>
1212  operator ParamGenerator<T>() const {
1213    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1214        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1215        v24_, v25_, v26_, v27_, v28_, v29_, v30_};
1216    return ValuesIn(array);
1217  }
1218
1219 private:
1220  // No implementation - assignment is unsupported.
1221  void operator=(const ValueArray30& other);
1222
1223  const T1 v1_;
1224  const T2 v2_;
1225  const T3 v3_;
1226  const T4 v4_;
1227  const T5 v5_;
1228  const T6 v6_;
1229  const T7 v7_;
1230  const T8 v8_;
1231  const T9 v9_;
1232  const T10 v10_;
1233  const T11 v11_;
1234  const T12 v12_;
1235  const T13 v13_;
1236  const T14 v14_;
1237  const T15 v15_;
1238  const T16 v16_;
1239  const T17 v17_;
1240  const T18 v18_;
1241  const T19 v19_;
1242  const T20 v20_;
1243  const T21 v21_;
1244  const T22 v22_;
1245  const T23 v23_;
1246  const T24 v24_;
1247  const T25 v25_;
1248  const T26 v26_;
1249  const T27 v27_;
1250  const T28 v28_;
1251  const T29 v29_;
1252  const T30 v30_;
1253};
1254
1255template <typename T1, typename T2, typename T3, typename T4, typename T5,
1256    typename T6, typename T7, typename T8, typename T9, typename T10,
1257    typename T11, typename T12, typename T13, typename T14, typename T15,
1258    typename T16, typename T17, typename T18, typename T19, typename T20,
1259    typename T21, typename T22, typename T23, typename T24, typename T25,
1260    typename T26, typename T27, typename T28, typename T29, typename T30,
1261    typename T31>
1262class ValueArray31 {
1263 public:
1264  ValueArray31(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1265      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1266      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1267      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) : v1_(v1), v2_(v2),
1268      v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10),
1269      v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16),
1270      v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22),
1271      v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28),
1272      v29_(v29), v30_(v30), v31_(v31) {}
1273
1274  template <typename T>
1275  operator ParamGenerator<T>() const {
1276    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1277        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1278        v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_};
1279    return ValuesIn(array);
1280  }
1281
1282 private:
1283  // No implementation - assignment is unsupported.
1284  void operator=(const ValueArray31& other);
1285
1286  const T1 v1_;
1287  const T2 v2_;
1288  const T3 v3_;
1289  const T4 v4_;
1290  const T5 v5_;
1291  const T6 v6_;
1292  const T7 v7_;
1293  const T8 v8_;
1294  const T9 v9_;
1295  const T10 v10_;
1296  const T11 v11_;
1297  const T12 v12_;
1298  const T13 v13_;
1299  const T14 v14_;
1300  const T15 v15_;
1301  const T16 v16_;
1302  const T17 v17_;
1303  const T18 v18_;
1304  const T19 v19_;
1305  const T20 v20_;
1306  const T21 v21_;
1307  const T22 v22_;
1308  const T23 v23_;
1309  const T24 v24_;
1310  const T25 v25_;
1311  const T26 v26_;
1312  const T27 v27_;
1313  const T28 v28_;
1314  const T29 v29_;
1315  const T30 v30_;
1316  const T31 v31_;
1317};
1318
1319template <typename T1, typename T2, typename T3, typename T4, typename T5,
1320    typename T6, typename T7, typename T8, typename T9, typename T10,
1321    typename T11, typename T12, typename T13, typename T14, typename T15,
1322    typename T16, typename T17, typename T18, typename T19, typename T20,
1323    typename T21, typename T22, typename T23, typename T24, typename T25,
1324    typename T26, typename T27, typename T28, typename T29, typename T30,
1325    typename T31, typename T32>
1326class ValueArray32 {
1327 public:
1328  ValueArray32(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1329      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1330      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1331      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32) : v1_(v1),
1332      v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9),
1333      v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15),
1334      v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21),
1335      v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27),
1336      v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32) {}
1337
1338  template <typename T>
1339  operator ParamGenerator<T>() const {
1340    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1341        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1342        v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_};
1343    return ValuesIn(array);
1344  }
1345
1346 private:
1347  // No implementation - assignment is unsupported.
1348  void operator=(const ValueArray32& other);
1349
1350  const T1 v1_;
1351  const T2 v2_;
1352  const T3 v3_;
1353  const T4 v4_;
1354  const T5 v5_;
1355  const T6 v6_;
1356  const T7 v7_;
1357  const T8 v8_;
1358  const T9 v9_;
1359  const T10 v10_;
1360  const T11 v11_;
1361  const T12 v12_;
1362  const T13 v13_;
1363  const T14 v14_;
1364  const T15 v15_;
1365  const T16 v16_;
1366  const T17 v17_;
1367  const T18 v18_;
1368  const T19 v19_;
1369  const T20 v20_;
1370  const T21 v21_;
1371  const T22 v22_;
1372  const T23 v23_;
1373  const T24 v24_;
1374  const T25 v25_;
1375  const T26 v26_;
1376  const T27 v27_;
1377  const T28 v28_;
1378  const T29 v29_;
1379  const T30 v30_;
1380  const T31 v31_;
1381  const T32 v32_;
1382};
1383
1384template <typename T1, typename T2, typename T3, typename T4, typename T5,
1385    typename T6, typename T7, typename T8, typename T9, typename T10,
1386    typename T11, typename T12, typename T13, typename T14, typename T15,
1387    typename T16, typename T17, typename T18, typename T19, typename T20,
1388    typename T21, typename T22, typename T23, typename T24, typename T25,
1389    typename T26, typename T27, typename T28, typename T29, typename T30,
1390    typename T31, typename T32, typename T33>
1391class ValueArray33 {
1392 public:
1393  ValueArray33(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1394      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1395      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1396      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32,
1397      T33 v33) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
1398      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
1399      v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20),
1400      v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26),
1401      v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32),
1402      v33_(v33) {}
1403
1404  template <typename T>
1405  operator ParamGenerator<T>() const {
1406    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1407        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1408        v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_};
1409    return ValuesIn(array);
1410  }
1411
1412 private:
1413  // No implementation - assignment is unsupported.
1414  void operator=(const ValueArray33& other);
1415
1416  const T1 v1_;
1417  const T2 v2_;
1418  const T3 v3_;
1419  const T4 v4_;
1420  const T5 v5_;
1421  const T6 v6_;
1422  const T7 v7_;
1423  const T8 v8_;
1424  const T9 v9_;
1425  const T10 v10_;
1426  const T11 v11_;
1427  const T12 v12_;
1428  const T13 v13_;
1429  const T14 v14_;
1430  const T15 v15_;
1431  const T16 v16_;
1432  const T17 v17_;
1433  const T18 v18_;
1434  const T19 v19_;
1435  const T20 v20_;
1436  const T21 v21_;
1437  const T22 v22_;
1438  const T23 v23_;
1439  const T24 v24_;
1440  const T25 v25_;
1441  const T26 v26_;
1442  const T27 v27_;
1443  const T28 v28_;
1444  const T29 v29_;
1445  const T30 v30_;
1446  const T31 v31_;
1447  const T32 v32_;
1448  const T33 v33_;
1449};
1450
1451template <typename T1, typename T2, typename T3, typename T4, typename T5,
1452    typename T6, typename T7, typename T8, typename T9, typename T10,
1453    typename T11, typename T12, typename T13, typename T14, typename T15,
1454    typename T16, typename T17, typename T18, typename T19, typename T20,
1455    typename T21, typename T22, typename T23, typename T24, typename T25,
1456    typename T26, typename T27, typename T28, typename T29, typename T30,
1457    typename T31, typename T32, typename T33, typename T34>
1458class ValueArray34 {
1459 public:
1460  ValueArray34(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1461      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1462      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1463      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
1464      T34 v34) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7),
1465      v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14),
1466      v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20),
1467      v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26),
1468      v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32),
1469      v33_(v33), v34_(v34) {}
1470
1471  template <typename T>
1472  operator ParamGenerator<T>() const {
1473    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1474        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1475        v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_};
1476    return ValuesIn(array);
1477  }
1478
1479 private:
1480  // No implementation - assignment is unsupported.
1481  void operator=(const ValueArray34& other);
1482
1483  const T1 v1_;
1484  const T2 v2_;
1485  const T3 v3_;
1486  const T4 v4_;
1487  const T5 v5_;
1488  const T6 v6_;
1489  const T7 v7_;
1490  const T8 v8_;
1491  const T9 v9_;
1492  const T10 v10_;
1493  const T11 v11_;
1494  const T12 v12_;
1495  const T13 v13_;
1496  const T14 v14_;
1497  const T15 v15_;
1498  const T16 v16_;
1499  const T17 v17_;
1500  const T18 v18_;
1501  const T19 v19_;
1502  const T20 v20_;
1503  const T21 v21_;
1504  const T22 v22_;
1505  const T23 v23_;
1506  const T24 v24_;
1507  const T25 v25_;
1508  const T26 v26_;
1509  const T27 v27_;
1510  const T28 v28_;
1511  const T29 v29_;
1512  const T30 v30_;
1513  const T31 v31_;
1514  const T32 v32_;
1515  const T33 v33_;
1516  const T34 v34_;
1517};
1518
1519template <typename T1, typename T2, typename T3, typename T4, typename T5,
1520    typename T6, typename T7, typename T8, typename T9, typename T10,
1521    typename T11, typename T12, typename T13, typename T14, typename T15,
1522    typename T16, typename T17, typename T18, typename T19, typename T20,
1523    typename T21, typename T22, typename T23, typename T24, typename T25,
1524    typename T26, typename T27, typename T28, typename T29, typename T30,
1525    typename T31, typename T32, typename T33, typename T34, typename T35>
1526class ValueArray35 {
1527 public:
1528  ValueArray35(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1529      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17,
1530      T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25,
1531      T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33,
1532      T34 v34, T35 v35) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6),
1533      v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13),
1534      v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19),
1535      v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25),
1536      v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31),
1537      v32_(v32), v33_(v33), v34_(v34), v35_(v35) {}
1538
1539  template <typename T>
1540  operator ParamGenerator<T>() const {
1541    const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_,
1542        v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_,
1543        v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_,
1544        v35_};
1545    return ValuesIn(array);
1546  }
1547
1548 private:
1549  // No implementation - assignment is unsupported.
1550  void operator=(const ValueArray35& other);
1551
1552  const T1 v1_;
1553  const T2 v2_;
1554  const T3 v3_;
1555  const T4 v4_;
1556  const T5 v5_;
1557  const T6 v6_;
1558  const T7 v7_;
1559  const T8 v8_;
1560  const T9 v9_;
1561  const T10 v10_;
1562  const T11 v11_;
1563  const T12 v12_;
1564  const T13 v13_;
1565  const T14 v14_;
1566  const T15 v15_;
1567  const T16 v16_;
1568  const T17 v17_;
1569  const T18 v18_;
1570  const T19 v19_;
1571  const T20 v20_;
1572  const T21 v21_;
1573  const T22 v22_;
1574  const T23 v23_;
1575  const T24 v24_;
1576  const T25 v25_;
1577  const T26 v26_;
1578  const T27 v27_;
1579  const T28 v28_;
1580  const T29 v29_;
1581  const T30 v30_;
1582  const T31 v31_;
1583  const T32 v32_;
1584  const T33 v33_;
1585  const T34 v34_;
1586  const T35 v35_;
1587};
1588
1589template <typename T1, typename T2, typename T3, typename T4, typename T5,
1590    typename T6, typename T7, typename T8, typename T9, typename T10,
1591    typename T11, typename T12, typename T13, typename T14, typename T15,
1592    typename T16, typename T17, typename T18, typename T19, typename T20,
1593    typename T21, typename T22, typename T23, typename T24, typename T25,
1594    typename T26, typename T27, typename T28, typename T29, typename T30,
1595    typename T31, typename T32, typename T33, typename T34, typename T35,
1596    typename T36>
1597class ValueArray36 {
1598 public:
1599  ValueArray36(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9,
1600      T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T1

Large files files are truncated, but you can click here to view the full file