Index: third_party/gtest/include/gtest/internal/gtest-param-util-generated.h |
diff --git a/third_party/gtest/include/gtest/internal/gtest-param-util-generated.h b/third_party/gtest/include/gtest/internal/gtest-param-util-generated.h |
deleted file mode 100644 |
index ab4ab56625642d2558fd38b18ced06d0351ec1f4..0000000000000000000000000000000000000000 |
--- a/third_party/gtest/include/gtest/internal/gtest-param-util-generated.h |
+++ /dev/null |
@@ -1,4820 +0,0 @@ |
-// This file was GENERATED by a script. DO NOT EDIT BY HAND!!! |
- |
-// Copyright 2008 Google Inc. |
-// All Rights Reserved. |
-// |
-// Redistribution and use in source and binary forms, with or without |
-// modification, are permitted provided that the following conditions are |
-// met: |
-// |
-// * Redistributions of source code must retain the above copyright |
-// notice, this list of conditions and the following disclaimer. |
-// * Redistributions in binary form must reproduce the above |
-// copyright notice, this list of conditions and the following disclaimer |
-// in the documentation and/or other materials provided with the |
-// distribution. |
-// * Neither the name of Google Inc. nor the names of its |
-// contributors may be used to endorse or promote products derived from |
-// this software without specific prior written permission. |
-// |
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// |
-// Author: vladl@google.com (Vlad Losev) |
- |
-// Type and function utilities for implementing parameterized tests. |
-// This file is generated by a SCRIPT. DO NOT EDIT BY HAND! |
-// |
-// Currently Google Test supports at most 50 arguments in Values, |
-// and at most 10 arguments in Combine. Please contact |
-// googletestframework@googlegroups.com if you need more. |
-// Please note that the number of arguments to Combine is limited |
-// by the maximum arity of the implementation of tr1::tuple which is |
-// currently set at 10. |
- |
-#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ |
-#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ |
- |
-// scripts/fuse_gtest.py depends on gtest's own header being #included |
-// *unconditionally*. Therefore these #includes cannot be moved |
-// inside #if GTEST_HAS_PARAM_TEST. |
-#include <gtest/internal/gtest-param-util.h> |
-#include <gtest/internal/gtest-port.h> |
- |
-#if GTEST_HAS_PARAM_TEST |
- |
-namespace testing { |
- |
-// Forward declarations of ValuesIn(), which is implemented in |
-// include/gtest/gtest-param-test.h. |
-template <typename ForwardIterator> |
-internal::ParamGenerator< |
- typename ::std::iterator_traits<ForwardIterator>::value_type> ValuesIn( |
- ForwardIterator begin, ForwardIterator end); |
- |
-template <typename T, size_t N> |
-internal::ParamGenerator<T> ValuesIn(const T (&array)[N]); |
- |
-template <class Container> |
-internal::ParamGenerator<typename Container::value_type> ValuesIn( |
- const Container& container); |
- |
-namespace internal { |
- |
-// Used in the Values() function to provide polymorphic capabilities. |
-template <typename T1> |
-class ValueArray1 { |
- public: |
- explicit ValueArray1(T1 v1) : v1_(v1) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { return ValuesIn(&v1_, &v1_ + 1); } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray1& other); |
- |
- const T1 v1_; |
-}; |
- |
-template <typename T1, typename T2> |
-class ValueArray2 { |
- public: |
- ValueArray2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray2& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
-}; |
- |
-template <typename T1, typename T2, typename T3> |
-class ValueArray3 { |
- public: |
- ValueArray3(T1 v1, T2 v2, T3 v3) : v1_(v1), v2_(v2), v3_(v3) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray3& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4> |
-class ValueArray4 { |
- public: |
- ValueArray4(T1 v1, T2 v2, T3 v3, T4 v4) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray4& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5> |
-class ValueArray5 { |
- public: |
- ValueArray5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray5& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6> |
-class ValueArray6 { |
- public: |
- ValueArray6(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray6& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7> |
-class ValueArray7 { |
- public: |
- ValueArray7(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray7& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8> |
-class ValueArray8 { |
- public: |
- ValueArray8(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, |
- T8 v8) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray8& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9> |
-class ValueArray9 { |
- public: |
- ValueArray9(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, |
- T9 v9) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray9& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10> |
-class ValueArray10 { |
- public: |
- ValueArray10(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray10& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11> |
-class ValueArray11 { |
- public: |
- ValueArray11(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), |
- v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray11& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12> |
-class ValueArray12 { |
- public: |
- ValueArray12(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), |
- v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray12& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13> |
-class ValueArray13 { |
- public: |
- ValueArray13(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), |
- v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), |
- v12_(v12), v13_(v13) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray13& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14> |
-class ValueArray14 { |
- public: |
- ValueArray14(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray14& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15> |
-class ValueArray15 { |
- public: |
- ValueArray15(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray15& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16> |
-class ValueArray16 { |
- public: |
- ValueArray16(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), |
- v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), |
- v16_(v16) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray16& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17> |
-class ValueArray17 { |
- public: |
- ValueArray17(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, |
- T17 v17) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray17& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18> |
-class ValueArray18 { |
- public: |
- ValueArray18(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray18& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19> |
-class ValueArray19 { |
- public: |
- ValueArray19(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), |
- v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), |
- v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray19& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20> |
-class ValueArray20 { |
- public: |
- ValueArray20(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), |
- v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), |
- v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), |
- v19_(v19), v20_(v20) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray20& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21> |
-class ValueArray21 { |
- public: |
- ValueArray21(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), |
- v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), |
- v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), |
- v18_(v18), v19_(v19), v20_(v20), v21_(v21) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray21& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22> |
-class ValueArray22 { |
- public: |
- ValueArray22(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray22& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23> |
-class ValueArray23 { |
- public: |
- ValueArray23(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, |
- v23_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray23& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24> |
-class ValueArray24 { |
- public: |
- ValueArray24(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), |
- v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), |
- v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), |
- v22_(v22), v23_(v23), v24_(v24) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray24& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25> |
-class ValueArray25 { |
- public: |
- ValueArray25(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, |
- T25 v25) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray25& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26> |
-class ValueArray26 { |
- public: |
- ValueArray26(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray26& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27> |
-class ValueArray27 { |
- public: |
- ValueArray27(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), |
- v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), |
- v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), |
- v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), |
- v26_(v26), v27_(v27) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray27& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28> |
-class ValueArray28 { |
- public: |
- ValueArray28(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), |
- v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), |
- v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), |
- v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), |
- v25_(v25), v26_(v26), v27_(v27), v28_(v28) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray28& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29> |
-class ValueArray29 { |
- public: |
- ValueArray29(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), |
- v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), |
- v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), |
- v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), |
- v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray29& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30> |
-class ValueArray30 { |
- public: |
- ValueArray30(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray30& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31> |
-class ValueArray31 { |
- public: |
- ValueArray31(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30), v31_(v31) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray31& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32> |
-class ValueArray32 { |
- public: |
- ValueArray32(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), |
- v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), |
- v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), |
- v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), |
- v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray32& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33> |
-class ValueArray33 { |
- public: |
- ValueArray33(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, |
- T33 v33) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray33& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34> |
-class ValueArray34 { |
- public: |
- ValueArray34(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33), v34_(v34) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray34& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35> |
-class ValueArray35 { |
- public: |
- ValueArray35(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), |
- v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), |
- v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), |
- v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), |
- v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), |
- v32_(v32), v33_(v33), v34_(v34), v35_(v35) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, |
- v35_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray35& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36> |
-class ValueArray36 { |
- public: |
- ValueArray36(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), |
- v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), |
- v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), |
- v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), |
- v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), |
- v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray36& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37> |
-class ValueArray37 { |
- public: |
- ValueArray37(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), |
- v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), |
- v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), |
- v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), |
- v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), |
- v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), |
- v36_(v36), v37_(v37) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray37& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38> |
-class ValueArray38 { |
- public: |
- ValueArray38(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), |
- v35_(v35), v36_(v36), v37_(v37), v38_(v38) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray38& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39> |
-class ValueArray39 { |
- public: |
- ValueArray39(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), |
- v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray39& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40> |
-class ValueArray40 { |
- public: |
- ValueArray40(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), |
- v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), |
- v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), |
- v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), |
- v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), |
- v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), |
- v40_(v40) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray40& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41> |
-class ValueArray41 { |
- public: |
- ValueArray41(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, |
- T41 v41) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), |
- v39_(v39), v40_(v40), v41_(v41) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray41& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42> |
-class ValueArray42 { |
- public: |
- ValueArray42(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), |
- v39_(v39), v40_(v40), v41_(v41), v42_(v42) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray42& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43> |
-class ValueArray43 { |
- public: |
- ValueArray43(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), |
- v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), |
- v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), |
- v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), |
- v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), |
- v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), |
- v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray43& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44> |
-class ValueArray44 { |
- public: |
- ValueArray44(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), |
- v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), |
- v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), v18_(v18), |
- v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), v24_(v24), |
- v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), v30_(v30), |
- v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), v36_(v36), |
- v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), v42_(v42), |
- v43_(v43), v44_(v44) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray44& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45> |
-class ValueArray45 { |
- public: |
- ValueArray45(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), |
- v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), v11_(v11), |
- v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), v17_(v17), |
- v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), v23_(v23), |
- v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), v29_(v29), |
- v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), v35_(v35), |
- v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), v41_(v41), |
- v42_(v42), v43_(v43), v44_(v44), v45_(v45) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray45& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45, |
- typename T46> |
-class ValueArray46 { |
- public: |
- ValueArray46(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45, T46 v46) : v1_(v1), v2_(v2), v3_(v3), |
- v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), |
- v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), |
- v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_, v46_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray46& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
- const T46 v46_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45, |
- typename T46, typename T47> |
-class ValueArray47 { |
- public: |
- ValueArray47(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47) : v1_(v1), v2_(v2), |
- v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), v10_(v10), |
- v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), v16_(v16), |
- v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), v22_(v22), |
- v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), v28_(v28), |
- v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), v34_(v34), |
- v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), v40_(v40), |
- v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), v46_(v46), |
- v47_(v47) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_, v46_, |
- v47_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray47& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
- const T46 v46_; |
- const T47 v47_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45, |
- typename T46, typename T47, typename T48> |
-class ValueArray48 { |
- public: |
- ValueArray48(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48) : v1_(v1), |
- v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8), v9_(v9), |
- v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), v15_(v15), |
- v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), v21_(v21), |
- v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), v27_(v27), |
- v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), v33_(v33), |
- v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), v39_(v39), |
- v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), v45_(v45), |
- v46_(v46), v47_(v47), v48_(v48) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_, v46_, v47_, |
- v48_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray48& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
- const T46 v46_; |
- const T47 v47_; |
- const T48 v48_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45, |
- typename T46, typename T47, typename T48, typename T49> |
-class ValueArray49 { |
- public: |
- ValueArray49(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, |
- T49 v49) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), |
- v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), |
- v45_(v45), v46_(v46), v47_(v47), v48_(v48), v49_(v49) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_, v46_, v47_, |
- v48_, v49_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray49& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
- const T46 v46_; |
- const T47 v47_; |
- const T48 v48_; |
- const T49 v49_; |
-}; |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10, |
- typename T11, typename T12, typename T13, typename T14, typename T15, |
- typename T16, typename T17, typename T18, typename T19, typename T20, |
- typename T21, typename T22, typename T23, typename T24, typename T25, |
- typename T26, typename T27, typename T28, typename T29, typename T30, |
- typename T31, typename T32, typename T33, typename T34, typename T35, |
- typename T36, typename T37, typename T38, typename T39, typename T40, |
- typename T41, typename T42, typename T43, typename T44, typename T45, |
- typename T46, typename T47, typename T48, typename T49, typename T50> |
-class ValueArray50 { |
- public: |
- ValueArray50(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, |
- T10 v10, T11 v11, T12 v12, T13 v13, T14 v14, T15 v15, T16 v16, T17 v17, |
- T18 v18, T19 v19, T20 v20, T21 v21, T22 v22, T23 v23, T24 v24, T25 v25, |
- T26 v26, T27 v27, T28 v28, T29 v29, T30 v30, T31 v31, T32 v32, T33 v33, |
- T34 v34, T35 v35, T36 v36, T37 v37, T38 v38, T39 v39, T40 v40, T41 v41, |
- T42 v42, T43 v43, T44 v44, T45 v45, T46 v46, T47 v47, T48 v48, T49 v49, |
- T50 v50) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), |
- v8_(v8), v9_(v9), v10_(v10), v11_(v11), v12_(v12), v13_(v13), v14_(v14), |
- v15_(v15), v16_(v16), v17_(v17), v18_(v18), v19_(v19), v20_(v20), |
- v21_(v21), v22_(v22), v23_(v23), v24_(v24), v25_(v25), v26_(v26), |
- v27_(v27), v28_(v28), v29_(v29), v30_(v30), v31_(v31), v32_(v32), |
- v33_(v33), v34_(v34), v35_(v35), v36_(v36), v37_(v37), v38_(v38), |
- v39_(v39), v40_(v40), v41_(v41), v42_(v42), v43_(v43), v44_(v44), |
- v45_(v45), v46_(v46), v47_(v47), v48_(v48), v49_(v49), v50_(v50) {} |
- |
- template <typename T> |
- operator ParamGenerator<T>() const { |
- const T array[] = {v1_, v2_, v3_, v4_, v5_, v6_, v7_, v8_, v9_, v10_, v11_, |
- v12_, v13_, v14_, v15_, v16_, v17_, v18_, v19_, v20_, v21_, v22_, v23_, |
- v24_, v25_, v26_, v27_, v28_, v29_, v30_, v31_, v32_, v33_, v34_, v35_, |
- v36_, v37_, v38_, v39_, v40_, v41_, v42_, v43_, v44_, v45_, v46_, v47_, |
- v48_, v49_, v50_}; |
- return ValuesIn(array); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const ValueArray50& other); |
- |
- const T1 v1_; |
- const T2 v2_; |
- const T3 v3_; |
- const T4 v4_; |
- const T5 v5_; |
- const T6 v6_; |
- const T7 v7_; |
- const T8 v8_; |
- const T9 v9_; |
- const T10 v10_; |
- const T11 v11_; |
- const T12 v12_; |
- const T13 v13_; |
- const T14 v14_; |
- const T15 v15_; |
- const T16 v16_; |
- const T17 v17_; |
- const T18 v18_; |
- const T19 v19_; |
- const T20 v20_; |
- const T21 v21_; |
- const T22 v22_; |
- const T23 v23_; |
- const T24 v24_; |
- const T25 v25_; |
- const T26 v26_; |
- const T27 v27_; |
- const T28 v28_; |
- const T29 v29_; |
- const T30 v30_; |
- const T31 v31_; |
- const T32 v32_; |
- const T33 v33_; |
- const T34 v34_; |
- const T35 v35_; |
- const T36 v36_; |
- const T37 v37_; |
- const T38 v38_; |
- const T39 v39_; |
- const T40 v40_; |
- const T41 v41_; |
- const T42 v42_; |
- const T43 v43_; |
- const T44 v44_; |
- const T45 v45_; |
- const T46 v46_; |
- const T47 v47_; |
- const T48 v48_; |
- const T49 v49_; |
- const T50 v50_; |
-}; |
- |
-#if GTEST_HAS_COMBINE |
-// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. |
-// |
-// Generates values from the Cartesian product of values produced |
-// by the argument generators. |
-// |
-template <typename T1, typename T2> |
-class CartesianProductGenerator2 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2> ParamType; |
- |
- CartesianProductGenerator2(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2) |
- : g1_(g1), g2_(g2) {} |
- virtual ~CartesianProductGenerator2() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current2_; |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator2::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator2& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
-}; // class CartesianProductGenerator2 |
- |
- |
-template <typename T1, typename T2, typename T3> |
-class CartesianProductGenerator3 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3> ParamType; |
- |
- CartesianProductGenerator3(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3) |
- : g1_(g1), g2_(g2), g3_(g3) {} |
- virtual ~CartesianProductGenerator3() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current3_; |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator3::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator3& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
-}; // class CartesianProductGenerator3 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4> |
-class CartesianProductGenerator4 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4> ParamType; |
- |
- CartesianProductGenerator4(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} |
- virtual ~CartesianProductGenerator4() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current4_; |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator4::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator4& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
-}; // class CartesianProductGenerator4 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5> |
-class CartesianProductGenerator5 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5> ParamType; |
- |
- CartesianProductGenerator5(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} |
- virtual ~CartesianProductGenerator5() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current5_; |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator5::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator5& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
-}; // class CartesianProductGenerator5 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6> |
-class CartesianProductGenerator6 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, |
- T6> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> ParamType; |
- |
- CartesianProductGenerator6(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5, |
- const ParamGenerator<T6>& g6) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {} |
- virtual ~CartesianProductGenerator6() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5, |
- const ParamGenerator<T6>& g6, |
- const typename ParamGenerator<T6>::iterator& current6) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5), |
- begin6_(g6.begin()), end6_(g6.end()), current6_(current6) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current6_; |
- if (current6_ == end6_) { |
- current6_ = begin6_; |
- ++current5_; |
- } |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_ && |
- current6_ == typed_other->current6_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_), |
- begin6_(other.begin6_), |
- end6_(other.end6_), |
- current6_(other.current6_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_, *current6_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_ || |
- current6_ == end6_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- const typename ParamGenerator<T6>::iterator begin6_; |
- const typename ParamGenerator<T6>::iterator end6_; |
- typename ParamGenerator<T6>::iterator current6_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator6::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator6& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
- const ParamGenerator<T6> g6_; |
-}; // class CartesianProductGenerator6 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7> |
-class CartesianProductGenerator7 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, |
- T7> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType; |
- |
- CartesianProductGenerator7(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5, |
- const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {} |
- virtual ~CartesianProductGenerator7() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, |
- g7_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5, |
- const ParamGenerator<T6>& g6, |
- const typename ParamGenerator<T6>::iterator& current6, |
- const ParamGenerator<T7>& g7, |
- const typename ParamGenerator<T7>::iterator& current7) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5), |
- begin6_(g6.begin()), end6_(g6.end()), current6_(current6), |
- begin7_(g7.begin()), end7_(g7.end()), current7_(current7) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current7_; |
- if (current7_ == end7_) { |
- current7_ = begin7_; |
- ++current6_; |
- } |
- if (current6_ == end6_) { |
- current6_ = begin6_; |
- ++current5_; |
- } |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_ && |
- current6_ == typed_other->current6_ && |
- current7_ == typed_other->current7_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_), |
- begin6_(other.begin6_), |
- end6_(other.end6_), |
- current6_(other.current6_), |
- begin7_(other.begin7_), |
- end7_(other.end7_), |
- current7_(other.current7_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_, *current6_, *current7_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_ || |
- current6_ == end6_ || |
- current7_ == end7_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- const typename ParamGenerator<T6>::iterator begin6_; |
- const typename ParamGenerator<T6>::iterator end6_; |
- typename ParamGenerator<T6>::iterator current6_; |
- const typename ParamGenerator<T7>::iterator begin7_; |
- const typename ParamGenerator<T7>::iterator end7_; |
- typename ParamGenerator<T7>::iterator current7_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator7::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator7& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
- const ParamGenerator<T6> g6_; |
- const ParamGenerator<T7> g7_; |
-}; // class CartesianProductGenerator7 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8> |
-class CartesianProductGenerator8 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, |
- T7, T8> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType; |
- |
- CartesianProductGenerator8(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5, |
- const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7, |
- const ParamGenerator<T8>& g8) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), |
- g8_(g8) {} |
- virtual ~CartesianProductGenerator8() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, |
- g7_.begin(), g8_, g8_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, |
- g8_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5, |
- const ParamGenerator<T6>& g6, |
- const typename ParamGenerator<T6>::iterator& current6, |
- const ParamGenerator<T7>& g7, |
- const typename ParamGenerator<T7>::iterator& current7, |
- const ParamGenerator<T8>& g8, |
- const typename ParamGenerator<T8>::iterator& current8) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5), |
- begin6_(g6.begin()), end6_(g6.end()), current6_(current6), |
- begin7_(g7.begin()), end7_(g7.end()), current7_(current7), |
- begin8_(g8.begin()), end8_(g8.end()), current8_(current8) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current8_; |
- if (current8_ == end8_) { |
- current8_ = begin8_; |
- ++current7_; |
- } |
- if (current7_ == end7_) { |
- current7_ = begin7_; |
- ++current6_; |
- } |
- if (current6_ == end6_) { |
- current6_ = begin6_; |
- ++current5_; |
- } |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_ && |
- current6_ == typed_other->current6_ && |
- current7_ == typed_other->current7_ && |
- current8_ == typed_other->current8_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_), |
- begin6_(other.begin6_), |
- end6_(other.end6_), |
- current6_(other.current6_), |
- begin7_(other.begin7_), |
- end7_(other.end7_), |
- current7_(other.current7_), |
- begin8_(other.begin8_), |
- end8_(other.end8_), |
- current8_(other.current8_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_, *current6_, *current7_, *current8_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_ || |
- current6_ == end6_ || |
- current7_ == end7_ || |
- current8_ == end8_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- const typename ParamGenerator<T6>::iterator begin6_; |
- const typename ParamGenerator<T6>::iterator end6_; |
- typename ParamGenerator<T6>::iterator current6_; |
- const typename ParamGenerator<T7>::iterator begin7_; |
- const typename ParamGenerator<T7>::iterator end7_; |
- typename ParamGenerator<T7>::iterator current7_; |
- const typename ParamGenerator<T8>::iterator begin8_; |
- const typename ParamGenerator<T8>::iterator end8_; |
- typename ParamGenerator<T8>::iterator current8_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator8::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator8& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
- const ParamGenerator<T6> g6_; |
- const ParamGenerator<T7> g7_; |
- const ParamGenerator<T8> g8_; |
-}; // class CartesianProductGenerator8 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9> |
-class CartesianProductGenerator9 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, |
- T7, T8, T9> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType; |
- |
- CartesianProductGenerator9(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5, |
- const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7, |
- const ParamGenerator<T8>& g8, const ParamGenerator<T9>& g9) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), |
- g9_(g9) {} |
- virtual ~CartesianProductGenerator9() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, |
- g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, |
- g8_.end(), g9_, g9_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5, |
- const ParamGenerator<T6>& g6, |
- const typename ParamGenerator<T6>::iterator& current6, |
- const ParamGenerator<T7>& g7, |
- const typename ParamGenerator<T7>::iterator& current7, |
- const ParamGenerator<T8>& g8, |
- const typename ParamGenerator<T8>::iterator& current8, |
- const ParamGenerator<T9>& g9, |
- const typename ParamGenerator<T9>::iterator& current9) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5), |
- begin6_(g6.begin()), end6_(g6.end()), current6_(current6), |
- begin7_(g7.begin()), end7_(g7.end()), current7_(current7), |
- begin8_(g8.begin()), end8_(g8.end()), current8_(current8), |
- begin9_(g9.begin()), end9_(g9.end()), current9_(current9) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current9_; |
- if (current9_ == end9_) { |
- current9_ = begin9_; |
- ++current8_; |
- } |
- if (current8_ == end8_) { |
- current8_ = begin8_; |
- ++current7_; |
- } |
- if (current7_ == end7_) { |
- current7_ = begin7_; |
- ++current6_; |
- } |
- if (current6_ == end6_) { |
- current6_ = begin6_; |
- ++current5_; |
- } |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_ && |
- current6_ == typed_other->current6_ && |
- current7_ == typed_other->current7_ && |
- current8_ == typed_other->current8_ && |
- current9_ == typed_other->current9_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_), |
- begin6_(other.begin6_), |
- end6_(other.end6_), |
- current6_(other.current6_), |
- begin7_(other.begin7_), |
- end7_(other.end7_), |
- current7_(other.current7_), |
- begin8_(other.begin8_), |
- end8_(other.end8_), |
- current8_(other.current8_), |
- begin9_(other.begin9_), |
- end9_(other.end9_), |
- current9_(other.current9_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_, *current6_, *current7_, *current8_, |
- *current9_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_ || |
- current6_ == end6_ || |
- current7_ == end7_ || |
- current8_ == end8_ || |
- current9_ == end9_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- const typename ParamGenerator<T6>::iterator begin6_; |
- const typename ParamGenerator<T6>::iterator end6_; |
- typename ParamGenerator<T6>::iterator current6_; |
- const typename ParamGenerator<T7>::iterator begin7_; |
- const typename ParamGenerator<T7>::iterator end7_; |
- typename ParamGenerator<T7>::iterator current7_; |
- const typename ParamGenerator<T8>::iterator begin8_; |
- const typename ParamGenerator<T8>::iterator end8_; |
- typename ParamGenerator<T8>::iterator current8_; |
- const typename ParamGenerator<T9>::iterator begin9_; |
- const typename ParamGenerator<T9>::iterator end9_; |
- typename ParamGenerator<T9>::iterator current9_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator9::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator9& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
- const ParamGenerator<T6> g6_; |
- const ParamGenerator<T7> g7_; |
- const ParamGenerator<T8> g8_; |
- const ParamGenerator<T9> g9_; |
-}; // class CartesianProductGenerator9 |
- |
- |
-template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10> |
-class CartesianProductGenerator10 |
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, |
- T7, T8, T9, T10> > { |
- public: |
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType; |
- |
- CartesianProductGenerator10(const ParamGenerator<T1>& g1, |
- const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3, |
- const ParamGenerator<T4>& g4, const ParamGenerator<T5>& g5, |
- const ParamGenerator<T6>& g6, const ParamGenerator<T7>& g7, |
- const ParamGenerator<T8>& g8, const ParamGenerator<T9>& g9, |
- const ParamGenerator<T10>& g10) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), |
- g9_(g9), g10_(g10) {} |
- virtual ~CartesianProductGenerator10() {} |
- |
- virtual ParamIteratorInterface<ParamType>* Begin() const { |
- return new Iterator(this, g1_, g1_.begin(), g2_, g2_.begin(), g3_, |
- g3_.begin(), g4_, g4_.begin(), g5_, g5_.begin(), g6_, g6_.begin(), g7_, |
- g7_.begin(), g8_, g8_.begin(), g9_, g9_.begin(), g10_, g10_.begin()); |
- } |
- virtual ParamIteratorInterface<ParamType>* End() const { |
- return new Iterator(this, g1_, g1_.end(), g2_, g2_.end(), g3_, g3_.end(), |
- g4_, g4_.end(), g5_, g5_.end(), g6_, g6_.end(), g7_, g7_.end(), g8_, |
- g8_.end(), g9_, g9_.end(), g10_, g10_.end()); |
- } |
- |
- private: |
- class Iterator : public ParamIteratorInterface<ParamType> { |
- public: |
- Iterator(const ParamGeneratorInterface<ParamType>* base, |
- const ParamGenerator<T1>& g1, |
- const typename ParamGenerator<T1>::iterator& current1, |
- const ParamGenerator<T2>& g2, |
- const typename ParamGenerator<T2>::iterator& current2, |
- const ParamGenerator<T3>& g3, |
- const typename ParamGenerator<T3>::iterator& current3, |
- const ParamGenerator<T4>& g4, |
- const typename ParamGenerator<T4>::iterator& current4, |
- const ParamGenerator<T5>& g5, |
- const typename ParamGenerator<T5>::iterator& current5, |
- const ParamGenerator<T6>& g6, |
- const typename ParamGenerator<T6>::iterator& current6, |
- const ParamGenerator<T7>& g7, |
- const typename ParamGenerator<T7>::iterator& current7, |
- const ParamGenerator<T8>& g8, |
- const typename ParamGenerator<T8>::iterator& current8, |
- const ParamGenerator<T9>& g9, |
- const typename ParamGenerator<T9>::iterator& current9, |
- const ParamGenerator<T10>& g10, |
- const typename ParamGenerator<T10>::iterator& current10) |
- : base_(base), |
- begin1_(g1.begin()), end1_(g1.end()), current1_(current1), |
- begin2_(g2.begin()), end2_(g2.end()), current2_(current2), |
- begin3_(g3.begin()), end3_(g3.end()), current3_(current3), |
- begin4_(g4.begin()), end4_(g4.end()), current4_(current4), |
- begin5_(g5.begin()), end5_(g5.end()), current5_(current5), |
- begin6_(g6.begin()), end6_(g6.end()), current6_(current6), |
- begin7_(g7.begin()), end7_(g7.end()), current7_(current7), |
- begin8_(g8.begin()), end8_(g8.end()), current8_(current8), |
- begin9_(g9.begin()), end9_(g9.end()), current9_(current9), |
- begin10_(g10.begin()), end10_(g10.end()), current10_(current10) { |
- ComputeCurrentValue(); |
- } |
- virtual ~Iterator() {} |
- |
- virtual const ParamGeneratorInterface<ParamType>* BaseGenerator() const { |
- return base_; |
- } |
- // Advance should not be called on beyond-of-range iterators |
- // so no component iterators must be beyond end of range, either. |
- virtual void Advance() { |
- assert(!AtEnd()); |
- ++current10_; |
- if (current10_ == end10_) { |
- current10_ = begin10_; |
- ++current9_; |
- } |
- if (current9_ == end9_) { |
- current9_ = begin9_; |
- ++current8_; |
- } |
- if (current8_ == end8_) { |
- current8_ = begin8_; |
- ++current7_; |
- } |
- if (current7_ == end7_) { |
- current7_ = begin7_; |
- ++current6_; |
- } |
- if (current6_ == end6_) { |
- current6_ = begin6_; |
- ++current5_; |
- } |
- if (current5_ == end5_) { |
- current5_ = begin5_; |
- ++current4_; |
- } |
- if (current4_ == end4_) { |
- current4_ = begin4_; |
- ++current3_; |
- } |
- if (current3_ == end3_) { |
- current3_ = begin3_; |
- ++current2_; |
- } |
- if (current2_ == end2_) { |
- current2_ = begin2_; |
- ++current1_; |
- } |
- ComputeCurrentValue(); |
- } |
- virtual ParamIteratorInterface<ParamType>* Clone() const { |
- return new Iterator(*this); |
- } |
- virtual const ParamType* Current() const { return ¤t_value_; } |
- virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const { |
- // Having the same base generator guarantees that the other |
- // iterator is of the same type and we can downcast. |
- GTEST_CHECK_(BaseGenerator() == other.BaseGenerator()) |
- << "The program attempted to compare iterators " |
- << "from different generators." << std::endl; |
- const Iterator* typed_other = |
- CheckedDowncastToActualType<const Iterator>(&other); |
- // We must report iterators equal if they both point beyond their |
- // respective ranges. That can happen in a variety of fashions, |
- // so we have to consult AtEnd(). |
- return (AtEnd() && typed_other->AtEnd()) || |
- ( |
- current1_ == typed_other->current1_ && |
- current2_ == typed_other->current2_ && |
- current3_ == typed_other->current3_ && |
- current4_ == typed_other->current4_ && |
- current5_ == typed_other->current5_ && |
- current6_ == typed_other->current6_ && |
- current7_ == typed_other->current7_ && |
- current8_ == typed_other->current8_ && |
- current9_ == typed_other->current9_ && |
- current10_ == typed_other->current10_); |
- } |
- |
- private: |
- Iterator(const Iterator& other) |
- : base_(other.base_), |
- begin1_(other.begin1_), |
- end1_(other.end1_), |
- current1_(other.current1_), |
- begin2_(other.begin2_), |
- end2_(other.end2_), |
- current2_(other.current2_), |
- begin3_(other.begin3_), |
- end3_(other.end3_), |
- current3_(other.current3_), |
- begin4_(other.begin4_), |
- end4_(other.end4_), |
- current4_(other.current4_), |
- begin5_(other.begin5_), |
- end5_(other.end5_), |
- current5_(other.current5_), |
- begin6_(other.begin6_), |
- end6_(other.end6_), |
- current6_(other.current6_), |
- begin7_(other.begin7_), |
- end7_(other.end7_), |
- current7_(other.current7_), |
- begin8_(other.begin8_), |
- end8_(other.end8_), |
- current8_(other.current8_), |
- begin9_(other.begin9_), |
- end9_(other.end9_), |
- current9_(other.current9_), |
- begin10_(other.begin10_), |
- end10_(other.end10_), |
- current10_(other.current10_) { |
- ComputeCurrentValue(); |
- } |
- |
- void ComputeCurrentValue() { |
- if (!AtEnd()) |
- current_value_ = ParamType(*current1_, *current2_, *current3_, |
- *current4_, *current5_, *current6_, *current7_, *current8_, |
- *current9_, *current10_); |
- } |
- bool AtEnd() const { |
- // We must report iterator past the end of the range when either of the |
- // component iterators has reached the end of its range. |
- return |
- current1_ == end1_ || |
- current2_ == end2_ || |
- current3_ == end3_ || |
- current4_ == end4_ || |
- current5_ == end5_ || |
- current6_ == end6_ || |
- current7_ == end7_ || |
- current8_ == end8_ || |
- current9_ == end9_ || |
- current10_ == end10_; |
- } |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const Iterator& other); |
- |
- const ParamGeneratorInterface<ParamType>* const base_; |
- // begin[i]_ and end[i]_ define the i-th range that Iterator traverses. |
- // current[i]_ is the actual traversing iterator. |
- const typename ParamGenerator<T1>::iterator begin1_; |
- const typename ParamGenerator<T1>::iterator end1_; |
- typename ParamGenerator<T1>::iterator current1_; |
- const typename ParamGenerator<T2>::iterator begin2_; |
- const typename ParamGenerator<T2>::iterator end2_; |
- typename ParamGenerator<T2>::iterator current2_; |
- const typename ParamGenerator<T3>::iterator begin3_; |
- const typename ParamGenerator<T3>::iterator end3_; |
- typename ParamGenerator<T3>::iterator current3_; |
- const typename ParamGenerator<T4>::iterator begin4_; |
- const typename ParamGenerator<T4>::iterator end4_; |
- typename ParamGenerator<T4>::iterator current4_; |
- const typename ParamGenerator<T5>::iterator begin5_; |
- const typename ParamGenerator<T5>::iterator end5_; |
- typename ParamGenerator<T5>::iterator current5_; |
- const typename ParamGenerator<T6>::iterator begin6_; |
- const typename ParamGenerator<T6>::iterator end6_; |
- typename ParamGenerator<T6>::iterator current6_; |
- const typename ParamGenerator<T7>::iterator begin7_; |
- const typename ParamGenerator<T7>::iterator end7_; |
- typename ParamGenerator<T7>::iterator current7_; |
- const typename ParamGenerator<T8>::iterator begin8_; |
- const typename ParamGenerator<T8>::iterator end8_; |
- typename ParamGenerator<T8>::iterator current8_; |
- const typename ParamGenerator<T9>::iterator begin9_; |
- const typename ParamGenerator<T9>::iterator end9_; |
- typename ParamGenerator<T9>::iterator current9_; |
- const typename ParamGenerator<T10>::iterator begin10_; |
- const typename ParamGenerator<T10>::iterator end10_; |
- typename ParamGenerator<T10>::iterator current10_; |
- ParamType current_value_; |
- }; // class CartesianProductGenerator10::Iterator |
- |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductGenerator10& other); |
- |
- const ParamGenerator<T1> g1_; |
- const ParamGenerator<T2> g2_; |
- const ParamGenerator<T3> g3_; |
- const ParamGenerator<T4> g4_; |
- const ParamGenerator<T5> g5_; |
- const ParamGenerator<T6> g6_; |
- const ParamGenerator<T7> g7_; |
- const ParamGenerator<T8> g8_; |
- const ParamGenerator<T9> g9_; |
- const ParamGenerator<T10> g10_; |
-}; // class CartesianProductGenerator10 |
- |
- |
-// INTERNAL IMPLEMENTATION - DO NOT USE IN USER CODE. |
-// |
-// Helper classes providing Combine() with polymorphic features. They allow |
-// casting CartesianProductGeneratorN<T> to ParamGenerator<U> if T is |
-// convertible to U. |
-// |
-template <class Generator1, class Generator2> |
-class CartesianProductHolder2 { |
- public: |
-CartesianProductHolder2(const Generator1& g1, const Generator2& g2) |
- : g1_(g1), g2_(g2) {} |
- template <typename T1, typename T2> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2> >( |
- new CartesianProductGenerator2<T1, T2>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder2& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
-}; // class CartesianProductHolder2 |
- |
-template <class Generator1, class Generator2, class Generator3> |
-class CartesianProductHolder3 { |
- public: |
-CartesianProductHolder3(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3) |
- : g1_(g1), g2_(g2), g3_(g3) {} |
- template <typename T1, typename T2, typename T3> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >( |
- new CartesianProductGenerator3<T1, T2, T3>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder3& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
-}; // class CartesianProductHolder3 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4> |
-class CartesianProductHolder4 { |
- public: |
-CartesianProductHolder4(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4) {} |
- template <typename T1, typename T2, typename T3, typename T4> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >( |
- new CartesianProductGenerator4<T1, T2, T3, T4>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder4& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
-}; // class CartesianProductHolder4 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5> |
-class CartesianProductHolder5 { |
- public: |
-CartesianProductHolder5(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >( |
- new CartesianProductGenerator5<T1, T2, T3, T4, T5>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder5& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
-}; // class CartesianProductHolder5 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5, class Generator6> |
-class CartesianProductHolder6 { |
- public: |
-CartesianProductHolder6(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5, |
- const Generator6& g6) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >( |
- new CartesianProductGenerator6<T1, T2, T3, T4, T5, T6>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_), |
- static_cast<ParamGenerator<T6> >(g6_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder6& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
- const Generator6 g6_; |
-}; // class CartesianProductHolder6 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5, class Generator6, class Generator7> |
-class CartesianProductHolder7 { |
- public: |
-CartesianProductHolder7(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5, |
- const Generator6& g6, const Generator7& g7) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, |
- T7> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> >( |
- new CartesianProductGenerator7<T1, T2, T3, T4, T5, T6, T7>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_), |
- static_cast<ParamGenerator<T6> >(g6_), |
- static_cast<ParamGenerator<T7> >(g7_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder7& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
- const Generator6 g6_; |
- const Generator7 g7_; |
-}; // class CartesianProductHolder7 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5, class Generator6, class Generator7, |
- class Generator8> |
-class CartesianProductHolder8 { |
- public: |
-CartesianProductHolder8(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5, |
- const Generator6& g6, const Generator7& g7, const Generator8& g8) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), |
- g8_(g8) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, |
- T8> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >( |
- new CartesianProductGenerator8<T1, T2, T3, T4, T5, T6, T7, T8>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_), |
- static_cast<ParamGenerator<T6> >(g6_), |
- static_cast<ParamGenerator<T7> >(g7_), |
- static_cast<ParamGenerator<T8> >(g8_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder8& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
- const Generator6 g6_; |
- const Generator7 g7_; |
- const Generator8 g8_; |
-}; // class CartesianProductHolder8 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5, class Generator6, class Generator7, |
- class Generator8, class Generator9> |
-class CartesianProductHolder9 { |
- public: |
-CartesianProductHolder9(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5, |
- const Generator6& g6, const Generator7& g7, const Generator8& g8, |
- const Generator9& g9) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), |
- g9_(g9) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, |
- T9> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, |
- T9> >( |
- new CartesianProductGenerator9<T1, T2, T3, T4, T5, T6, T7, T8, T9>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_), |
- static_cast<ParamGenerator<T6> >(g6_), |
- static_cast<ParamGenerator<T7> >(g7_), |
- static_cast<ParamGenerator<T8> >(g8_), |
- static_cast<ParamGenerator<T9> >(g9_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder9& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
- const Generator6 g6_; |
- const Generator7 g7_; |
- const Generator8 g8_; |
- const Generator9 g9_; |
-}; // class CartesianProductHolder9 |
- |
-template <class Generator1, class Generator2, class Generator3, |
- class Generator4, class Generator5, class Generator6, class Generator7, |
- class Generator8, class Generator9, class Generator10> |
-class CartesianProductHolder10 { |
- public: |
-CartesianProductHolder10(const Generator1& g1, const Generator2& g2, |
- const Generator3& g3, const Generator4& g4, const Generator5& g5, |
- const Generator6& g6, const Generator7& g7, const Generator8& g8, |
- const Generator9& g9, const Generator10& g10) |
- : g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7), g8_(g8), |
- g9_(g9), g10_(g10) {} |
- template <typename T1, typename T2, typename T3, typename T4, typename T5, |
- typename T6, typename T7, typename T8, typename T9, typename T10> |
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, |
- T9, T10> >() const { |
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, |
- T9, T10> >( |
- new CartesianProductGenerator10<T1, T2, T3, T4, T5, T6, T7, T8, T9, |
- T10>( |
- static_cast<ParamGenerator<T1> >(g1_), |
- static_cast<ParamGenerator<T2> >(g2_), |
- static_cast<ParamGenerator<T3> >(g3_), |
- static_cast<ParamGenerator<T4> >(g4_), |
- static_cast<ParamGenerator<T5> >(g5_), |
- static_cast<ParamGenerator<T6> >(g6_), |
- static_cast<ParamGenerator<T7> >(g7_), |
- static_cast<ParamGenerator<T8> >(g8_), |
- static_cast<ParamGenerator<T9> >(g9_), |
- static_cast<ParamGenerator<T10> >(g10_))); |
- } |
- |
- private: |
- // No implementation - assignment is unsupported. |
- void operator=(const CartesianProductHolder10& other); |
- |
- const Generator1 g1_; |
- const Generator2 g2_; |
- const Generator3 g3_; |
- const Generator4 g4_; |
- const Generator5 g5_; |
- const Generator6 g6_; |
- const Generator7 g7_; |
- const Generator8 g8_; |
- const Generator9 g9_; |
- const Generator10 g10_; |
-}; // class CartesianProductHolder10 |
- |
-#endif // GTEST_HAS_COMBINE |
- |
-} // namespace internal |
-} // namespace testing |
- |
-#endif // GTEST_HAS_PARAM_TEST |
- |
-#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_ |