uia 0.0.5 → 0.0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/ChangeLog +5 -1
  2. data/lib/uia/version.rb +1 -1
  3. data/uia.gemspec +3 -1
  4. metadata +1 -48
  5. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-actions.h +0 -1078
  6. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-cardinalities.h +0 -147
  7. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-actions.h +0 -2415
  8. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-actions.h.pump +0 -821
  9. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-function-mockers.h +0 -991
  10. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-function-mockers.h.pump +0 -265
  11. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-matchers.h +0 -2190
  12. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-matchers.h.pump +0 -674
  13. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-nice-strict.h +0 -397
  14. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-generated-nice-strict.h.pump +0 -161
  15. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-matchers.h +0 -3986
  16. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-more-actions.h +0 -233
  17. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-more-matchers.h +0 -58
  18. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock-spec-builders.h +0 -1791
  19. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/gmock.h +0 -94
  20. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/internal/gmock-generated-internal-utils.h +0 -279
  21. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/internal/gmock-generated-internal-utils.h.pump +0 -136
  22. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/internal/gmock-internal-utils.h +0 -498
  23. data/ext/UiaDll/UiaDll.Test/gmock/include/gmock/internal/gmock-port.h +0 -78
  24. data/ext/UiaDll/UiaDll.Test/gmock/lib/gmock.lib +0 -0
  25. data/ext/UiaDll/UiaDll.Test/gmock/lib/gmockd.lib +0 -0
  26. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-death-test.h +0 -294
  27. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-message.h +0 -250
  28. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-param-test.h +0 -1421
  29. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-param-test.h.pump +0 -487
  30. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-printers.h +0 -855
  31. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-spi.h +0 -232
  32. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-test-part.h +0 -179
  33. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest-typed-test.h +0 -259
  34. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest.h +0 -2291
  35. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest_pred_impl.h +0 -358
  36. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/gtest_prod.h +0 -58
  37. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-death-test-internal.h +0 -319
  38. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-filepath.h +0 -206
  39. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-internal.h +0 -1158
  40. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-linked_ptr.h +0 -233
  41. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-param-util-generated.h +0 -5143
  42. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-param-util-generated.h.pump +0 -301
  43. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-param-util.h +0 -619
  44. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-port.h +0 -1947
  45. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-string.h +0 -167
  46. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-tuple.h +0 -1012
  47. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-tuple.h.pump +0 -339
  48. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-type-util.h +0 -3331
  49. data/ext/UiaDll/UiaDll.Test/gtest/include/gtest/internal/gtest-type-util.h.pump +0 -297
  50. data/ext/UiaDll/UiaDll.Test/gtest/lib/gtest.lib +0 -0
  51. data/ext/UiaDll/UiaDll.Test/gtest/lib/gtestd.lib +0 -0
@@ -1,339 +0,0 @@
1
- $$ -*- mode: c++; -*-
2
- $var n = 10 $$ Maximum number of tuple fields we want to support.
3
- $$ This meta comment fixes auto-indentation in Emacs. }}
4
- // Copyright 2009 Google Inc.
5
- // All Rights Reserved.
6
- //
7
- // Redistribution and use in source and binary forms, with or without
8
- // modification, are permitted provided that the following conditions are
9
- // met:
10
- //
11
- // * Redistributions of source code must retain the above copyright
12
- // notice, this list of conditions and the following disclaimer.
13
- // * Redistributions in binary form must reproduce the above
14
- // copyright notice, this list of conditions and the following disclaimer
15
- // in the documentation and/or other materials provided with the
16
- // distribution.
17
- // * Neither the name of Google Inc. nor the names of its
18
- // contributors may be used to endorse or promote products derived from
19
- // this software without specific prior written permission.
20
- //
21
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
- //
33
- // Author: wan@google.com (Zhanyong Wan)
34
-
35
- // Implements a subset of TR1 tuple needed by Google Test and Google Mock.
36
-
37
- #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_
38
- #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_
39
-
40
- #include <utility> // For ::std::pair.
41
-
42
- // The compiler used in Symbian has a bug that prevents us from declaring the
43
- // tuple template as a friend (it complains that tuple is redefined). This
44
- // hack bypasses the bug by declaring the members that should otherwise be
45
- // private as public.
46
- // Sun Studio versions < 12 also have the above bug.
47
- #if defined(__SYMBIAN32__) || (defined(__SUNPRO_CC) && __SUNPRO_CC < 0x590)
48
- # define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
49
- #else
50
- # define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
51
- template <GTEST_$(n)_TYPENAMES_(U)> friend class tuple; \
52
- private:
53
- #endif
54
-
55
-
56
- $range i 0..n-1
57
- $range j 0..n
58
- $range k 1..n
59
- // GTEST_n_TUPLE_(T) is the type of an n-tuple.
60
- #define GTEST_0_TUPLE_(T) tuple<>
61
-
62
- $for k [[
63
- $range m 0..k-1
64
- $range m2 k..n-1
65
- #define GTEST_$(k)_TUPLE_(T) tuple<$for m, [[T##$m]]$for m2 [[, void]]>
66
-
67
- ]]
68
-
69
- // GTEST_n_TYPENAMES_(T) declares a list of n typenames.
70
-
71
- $for j [[
72
- $range m 0..j-1
73
- #define GTEST_$(j)_TYPENAMES_(T) $for m, [[typename T##$m]]
74
-
75
-
76
- ]]
77
-
78
- // In theory, defining stuff in the ::std namespace is undefined
79
- // behavior. We can do this as we are playing the role of a standard
80
- // library vendor.
81
- namespace std {
82
- namespace tr1 {
83
-
84
- template <$for i, [[typename T$i = void]]>
85
- class tuple;
86
-
87
- // Anything in namespace gtest_internal is Google Test's INTERNAL
88
- // IMPLEMENTATION DETAIL and MUST NOT BE USED DIRECTLY in user code.
89
- namespace gtest_internal {
90
-
91
- // ByRef<T>::type is T if T is a reference; otherwise it's const T&.
92
- template <typename T>
93
- struct ByRef { typedef const T& type; }; // NOLINT
94
- template <typename T>
95
- struct ByRef<T&> { typedef T& type; }; // NOLINT
96
-
97
- // A handy wrapper for ByRef.
98
- #define GTEST_BY_REF_(T) typename ::std::tr1::gtest_internal::ByRef<T>::type
99
-
100
- // AddRef<T>::type is T if T is a reference; otherwise it's T&. This
101
- // is the same as tr1::add_reference<T>::type.
102
- template <typename T>
103
- struct AddRef { typedef T& type; }; // NOLINT
104
- template <typename T>
105
- struct AddRef<T&> { typedef T& type; }; // NOLINT
106
-
107
- // A handy wrapper for AddRef.
108
- #define GTEST_ADD_REF_(T) typename ::std::tr1::gtest_internal::AddRef<T>::type
109
-
110
- // A helper for implementing get<k>().
111
- template <int k> class Get;
112
-
113
- // A helper for implementing tuple_element<k, T>. kIndexValid is true
114
- // iff k < the number of fields in tuple type T.
115
- template <bool kIndexValid, int kIndex, class Tuple>
116
- struct TupleElement;
117
-
118
-
119
- $for i [[
120
- template <GTEST_$(n)_TYPENAMES_(T)>
121
- struct TupleElement<true, $i, GTEST_$(n)_TUPLE_(T) > {
122
- typedef T$i type;
123
- };
124
-
125
-
126
- ]]
127
- } // namespace gtest_internal
128
-
129
- template <>
130
- class tuple<> {
131
- public:
132
- tuple() {}
133
- tuple(const tuple& /* t */) {}
134
- tuple& operator=(const tuple& /* t */) { return *this; }
135
- };
136
-
137
-
138
- $for k [[
139
- $range m 0..k-1
140
- template <GTEST_$(k)_TYPENAMES_(T)>
141
- class $if k < n [[GTEST_$(k)_TUPLE_(T)]] $else [[tuple]] {
142
- public:
143
- template <int k> friend class gtest_internal::Get;
144
-
145
- tuple() : $for m, [[f$(m)_()]] {}
146
-
147
- explicit tuple($for m, [[GTEST_BY_REF_(T$m) f$m]]) : [[]]
148
- $for m, [[f$(m)_(f$m)]] {}
149
-
150
- tuple(const tuple& t) : $for m, [[f$(m)_(t.f$(m)_)]] {}
151
-
152
- template <GTEST_$(k)_TYPENAMES_(U)>
153
- tuple(const GTEST_$(k)_TUPLE_(U)& t) : $for m, [[f$(m)_(t.f$(m)_)]] {}
154
-
155
- $if k == 2 [[
156
- template <typename U0, typename U1>
157
- tuple(const ::std::pair<U0, U1>& p) : f0_(p.first), f1_(p.second) {}
158
-
159
- ]]
160
-
161
- tuple& operator=(const tuple& t) { return CopyFrom(t); }
162
-
163
- template <GTEST_$(k)_TYPENAMES_(U)>
164
- tuple& operator=(const GTEST_$(k)_TUPLE_(U)& t) {
165
- return CopyFrom(t);
166
- }
167
-
168
- $if k == 2 [[
169
- template <typename U0, typename U1>
170
- tuple& operator=(const ::std::pair<U0, U1>& p) {
171
- f0_ = p.first;
172
- f1_ = p.second;
173
- return *this;
174
- }
175
-
176
- ]]
177
-
178
- GTEST_DECLARE_TUPLE_AS_FRIEND_
179
-
180
- template <GTEST_$(k)_TYPENAMES_(U)>
181
- tuple& CopyFrom(const GTEST_$(k)_TUPLE_(U)& t) {
182
-
183
- $for m [[
184
- f$(m)_ = t.f$(m)_;
185
-
186
- ]]
187
- return *this;
188
- }
189
-
190
-
191
- $for m [[
192
- T$m f$(m)_;
193
-
194
- ]]
195
- };
196
-
197
-
198
- ]]
199
- // 6.1.3.2 Tuple creation functions.
200
-
201
- // Known limitations: we don't support passing an
202
- // std::tr1::reference_wrapper<T> to make_tuple(). And we don't
203
- // implement tie().
204
-
205
- inline tuple<> make_tuple() { return tuple<>(); }
206
-
207
- $for k [[
208
- $range m 0..k-1
209
-
210
- template <GTEST_$(k)_TYPENAMES_(T)>
211
- inline GTEST_$(k)_TUPLE_(T) make_tuple($for m, [[const T$m& f$m]]) {
212
- return GTEST_$(k)_TUPLE_(T)($for m, [[f$m]]);
213
- }
214
-
215
- ]]
216
-
217
- // 6.1.3.3 Tuple helper classes.
218
-
219
- template <typename Tuple> struct tuple_size;
220
-
221
-
222
- $for j [[
223
- template <GTEST_$(j)_TYPENAMES_(T)>
224
- struct tuple_size<GTEST_$(j)_TUPLE_(T) > {
225
- static const int value = $j;
226
- };
227
-
228
-
229
- ]]
230
- template <int k, class Tuple>
231
- struct tuple_element {
232
- typedef typename gtest_internal::TupleElement<
233
- k < (tuple_size<Tuple>::value), k, Tuple>::type type;
234
- };
235
-
236
- #define GTEST_TUPLE_ELEMENT_(k, Tuple) typename tuple_element<k, Tuple >::type
237
-
238
- // 6.1.3.4 Element access.
239
-
240
- namespace gtest_internal {
241
-
242
-
243
- $for i [[
244
- template <>
245
- class Get<$i> {
246
- public:
247
- template <class Tuple>
248
- static GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_($i, Tuple))
249
- Field(Tuple& t) { return t.f$(i)_; } // NOLINT
250
-
251
- template <class Tuple>
252
- static GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_($i, Tuple))
253
- ConstField(const Tuple& t) { return t.f$(i)_; }
254
- };
255
-
256
-
257
- ]]
258
- } // namespace gtest_internal
259
-
260
- template <int k, GTEST_$(n)_TYPENAMES_(T)>
261
- GTEST_ADD_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_$(n)_TUPLE_(T)))
262
- get(GTEST_$(n)_TUPLE_(T)& t) {
263
- return gtest_internal::Get<k>::Field(t);
264
- }
265
-
266
- template <int k, GTEST_$(n)_TYPENAMES_(T)>
267
- GTEST_BY_REF_(GTEST_TUPLE_ELEMENT_(k, GTEST_$(n)_TUPLE_(T)))
268
- get(const GTEST_$(n)_TUPLE_(T)& t) {
269
- return gtest_internal::Get<k>::ConstField(t);
270
- }
271
-
272
- // 6.1.3.5 Relational operators
273
-
274
- // We only implement == and !=, as we don't have a need for the rest yet.
275
-
276
- namespace gtest_internal {
277
-
278
- // SameSizeTuplePrefixComparator<k, k>::Eq(t1, t2) returns true if the
279
- // first k fields of t1 equals the first k fields of t2.
280
- // SameSizeTuplePrefixComparator(k1, k2) would be a compiler error if
281
- // k1 != k2.
282
- template <int kSize1, int kSize2>
283
- struct SameSizeTuplePrefixComparator;
284
-
285
- template <>
286
- struct SameSizeTuplePrefixComparator<0, 0> {
287
- template <class Tuple1, class Tuple2>
288
- static bool Eq(const Tuple1& /* t1 */, const Tuple2& /* t2 */) {
289
- return true;
290
- }
291
- };
292
-
293
- template <int k>
294
- struct SameSizeTuplePrefixComparator<k, k> {
295
- template <class Tuple1, class Tuple2>
296
- static bool Eq(const Tuple1& t1, const Tuple2& t2) {
297
- return SameSizeTuplePrefixComparator<k - 1, k - 1>::Eq(t1, t2) &&
298
- ::std::tr1::get<k - 1>(t1) == ::std::tr1::get<k - 1>(t2);
299
- }
300
- };
301
-
302
- } // namespace gtest_internal
303
-
304
- template <GTEST_$(n)_TYPENAMES_(T), GTEST_$(n)_TYPENAMES_(U)>
305
- inline bool operator==(const GTEST_$(n)_TUPLE_(T)& t,
306
- const GTEST_$(n)_TUPLE_(U)& u) {
307
- return gtest_internal::SameSizeTuplePrefixComparator<
308
- tuple_size<GTEST_$(n)_TUPLE_(T) >::value,
309
- tuple_size<GTEST_$(n)_TUPLE_(U) >::value>::Eq(t, u);
310
- }
311
-
312
- template <GTEST_$(n)_TYPENAMES_(T), GTEST_$(n)_TYPENAMES_(U)>
313
- inline bool operator!=(const GTEST_$(n)_TUPLE_(T)& t,
314
- const GTEST_$(n)_TUPLE_(U)& u) { return !(t == u); }
315
-
316
- // 6.1.4 Pairs.
317
- // Unimplemented.
318
-
319
- } // namespace tr1
320
- } // namespace std
321
-
322
-
323
- $for j [[
324
- #undef GTEST_$(j)_TUPLE_
325
-
326
- ]]
327
-
328
-
329
- $for j [[
330
- #undef GTEST_$(j)_TYPENAMES_
331
-
332
- ]]
333
-
334
- #undef GTEST_DECLARE_TUPLE_AS_FRIEND_
335
- #undef GTEST_BY_REF_
336
- #undef GTEST_ADD_REF_
337
- #undef GTEST_TUPLE_ELEMENT_
338
-
339
- #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TUPLE_H_
@@ -1,3331 +0,0 @@
1
- // This file was GENERATED by command:
2
- // pump.py gtest-type-util.h.pump
3
- // DO NOT EDIT BY HAND!!!
4
-
5
- // Copyright 2008 Google Inc.
6
- // All Rights Reserved.
7
- //
8
- // Redistribution and use in source and binary forms, with or without
9
- // modification, are permitted provided that the following conditions are
10
- // met:
11
- //
12
- // * Redistributions of source code must retain the above copyright
13
- // notice, this list of conditions and the following disclaimer.
14
- // * Redistributions in binary form must reproduce the above
15
- // copyright notice, this list of conditions and the following disclaimer
16
- // in the documentation and/or other materials provided with the
17
- // distribution.
18
- // * Neither the name of Google Inc. nor the names of its
19
- // contributors may be used to endorse or promote products derived from
20
- // this software without specific prior written permission.
21
- //
22
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
- //
34
- // Author: wan@google.com (Zhanyong Wan)
35
-
36
- // Type utilities needed for implementing typed and type-parameterized
37
- // tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
38
- //
39
- // Currently we support at most 50 types in a list, and at most 50
40
- // type-parameterized tests in one type-parameterized test case.
41
- // Please contact googletestframework@googlegroups.com if you need
42
- // more.
43
-
44
- #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_
45
- #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_
46
-
47
- #include "gtest/internal/gtest-port.h"
48
-
49
- // #ifdef __GNUC__ is too general here. It is possible to use gcc without using
50
- // libstdc++ (which is where cxxabi.h comes from).
51
- # if GTEST_HAS_CXXABI_H_
52
- # include <cxxabi.h>
53
- # elif defined(__HP_aCC)
54
- # include <acxx_demangle.h>
55
- # endif // GTEST_HASH_CXXABI_H_
56
-
57
- namespace testing {
58
- namespace internal {
59
-
60
- // GetTypeName<T>() returns a human-readable name of type T.
61
- // NB: This function is also used in Google Mock, so don't move it inside of
62
- // the typed-test-only section below.
63
- template <typename T>
64
- std::string GetTypeName() {
65
- # if GTEST_HAS_RTTI
66
-
67
- const char* const name = typeid(T).name();
68
- # if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC)
69
- int status = 0;
70
- // gcc's implementation of typeid(T).name() mangles the type name,
71
- // so we have to demangle it.
72
- # if GTEST_HAS_CXXABI_H_
73
- using abi::__cxa_demangle;
74
- # endif // GTEST_HAS_CXXABI_H_
75
- char* const readable_name = __cxa_demangle(name, 0, 0, &status);
76
- const std::string name_str(status == 0 ? readable_name : name);
77
- free(readable_name);
78
- return name_str;
79
- # else
80
- return name;
81
- # endif // GTEST_HAS_CXXABI_H_ || __HP_aCC
82
-
83
- # else
84
-
85
- return "<type>";
86
-
87
- # endif // GTEST_HAS_RTTI
88
- }
89
-
90
- #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
91
-
92
- // AssertyTypeEq<T1, T2>::type is defined iff T1 and T2 are the same
93
- // type. This can be used as a compile-time assertion to ensure that
94
- // two types are equal.
95
-
96
- template <typename T1, typename T2>
97
- struct AssertTypeEq;
98
-
99
- template <typename T>
100
- struct AssertTypeEq<T, T> {
101
- typedef bool type;
102
- };
103
-
104
- // A unique type used as the default value for the arguments of class
105
- // template Types. This allows us to simulate variadic templates
106
- // (e.g. Types<int>, Type<int, double>, and etc), which C++ doesn't
107
- // support directly.
108
- struct None {};
109
-
110
- // The following family of struct and struct templates are used to
111
- // represent type lists. In particular, TypesN<T1, T2, ..., TN>
112
- // represents a type list with N types (T1, T2, ..., and TN) in it.
113
- // Except for Types0, every struct in the family has two member types:
114
- // Head for the first type in the list, and Tail for the rest of the
115
- // list.
116
-
117
- // The empty type list.
118
- struct Types0 {};
119
-
120
- // Type lists of length 1, 2, 3, and so on.
121
-
122
- template <typename T1>
123
- struct Types1 {
124
- typedef T1 Head;
125
- typedef Types0 Tail;
126
- };
127
- template <typename T1, typename T2>
128
- struct Types2 {
129
- typedef T1 Head;
130
- typedef Types1<T2> Tail;
131
- };
132
-
133
- template <typename T1, typename T2, typename T3>
134
- struct Types3 {
135
- typedef T1 Head;
136
- typedef Types2<T2, T3> Tail;
137
- };
138
-
139
- template <typename T1, typename T2, typename T3, typename T4>
140
- struct Types4 {
141
- typedef T1 Head;
142
- typedef Types3<T2, T3, T4> Tail;
143
- };
144
-
145
- template <typename T1, typename T2, typename T3, typename T4, typename T5>
146
- struct Types5 {
147
- typedef T1 Head;
148
- typedef Types4<T2, T3, T4, T5> Tail;
149
- };
150
-
151
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
152
- typename T6>
153
- struct Types6 {
154
- typedef T1 Head;
155
- typedef Types5<T2, T3, T4, T5, T6> Tail;
156
- };
157
-
158
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
159
- typename T6, typename T7>
160
- struct Types7 {
161
- typedef T1 Head;
162
- typedef Types6<T2, T3, T4, T5, T6, T7> Tail;
163
- };
164
-
165
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
166
- typename T6, typename T7, typename T8>
167
- struct Types8 {
168
- typedef T1 Head;
169
- typedef Types7<T2, T3, T4, T5, T6, T7, T8> Tail;
170
- };
171
-
172
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
173
- typename T6, typename T7, typename T8, typename T9>
174
- struct Types9 {
175
- typedef T1 Head;
176
- typedef Types8<T2, T3, T4, T5, T6, T7, T8, T9> Tail;
177
- };
178
-
179
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
180
- typename T6, typename T7, typename T8, typename T9, typename T10>
181
- struct Types10 {
182
- typedef T1 Head;
183
- typedef Types9<T2, T3, T4, T5, T6, T7, T8, T9, T10> Tail;
184
- };
185
-
186
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
187
- typename T6, typename T7, typename T8, typename T9, typename T10,
188
- typename T11>
189
- struct Types11 {
190
- typedef T1 Head;
191
- typedef Types10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tail;
192
- };
193
-
194
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
195
- typename T6, typename T7, typename T8, typename T9, typename T10,
196
- typename T11, typename T12>
197
- struct Types12 {
198
- typedef T1 Head;
199
- typedef Types11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tail;
200
- };
201
-
202
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
203
- typename T6, typename T7, typename T8, typename T9, typename T10,
204
- typename T11, typename T12, typename T13>
205
- struct Types13 {
206
- typedef T1 Head;
207
- typedef Types12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tail;
208
- };
209
-
210
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
211
- typename T6, typename T7, typename T8, typename T9, typename T10,
212
- typename T11, typename T12, typename T13, typename T14>
213
- struct Types14 {
214
- typedef T1 Head;
215
- typedef Types13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Tail;
216
- };
217
-
218
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
219
- typename T6, typename T7, typename T8, typename T9, typename T10,
220
- typename T11, typename T12, typename T13, typename T14, typename T15>
221
- struct Types15 {
222
- typedef T1 Head;
223
- typedef Types14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
224
- T15> Tail;
225
- };
226
-
227
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
228
- typename T6, typename T7, typename T8, typename T9, typename T10,
229
- typename T11, typename T12, typename T13, typename T14, typename T15,
230
- typename T16>
231
- struct Types16 {
232
- typedef T1 Head;
233
- typedef Types15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
234
- T16> Tail;
235
- };
236
-
237
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
238
- typename T6, typename T7, typename T8, typename T9, typename T10,
239
- typename T11, typename T12, typename T13, typename T14, typename T15,
240
- typename T16, typename T17>
241
- struct Types17 {
242
- typedef T1 Head;
243
- typedef Types16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
244
- T16, T17> Tail;
245
- };
246
-
247
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
248
- typename T6, typename T7, typename T8, typename T9, typename T10,
249
- typename T11, typename T12, typename T13, typename T14, typename T15,
250
- typename T16, typename T17, typename T18>
251
- struct Types18 {
252
- typedef T1 Head;
253
- typedef Types17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
254
- T16, T17, T18> Tail;
255
- };
256
-
257
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
258
- typename T6, typename T7, typename T8, typename T9, typename T10,
259
- typename T11, typename T12, typename T13, typename T14, typename T15,
260
- typename T16, typename T17, typename T18, typename T19>
261
- struct Types19 {
262
- typedef T1 Head;
263
- typedef Types18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
264
- T16, T17, T18, T19> Tail;
265
- };
266
-
267
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
268
- typename T6, typename T7, typename T8, typename T9, typename T10,
269
- typename T11, typename T12, typename T13, typename T14, typename T15,
270
- typename T16, typename T17, typename T18, typename T19, typename T20>
271
- struct Types20 {
272
- typedef T1 Head;
273
- typedef Types19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
274
- T16, T17, T18, T19, T20> Tail;
275
- };
276
-
277
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
278
- typename T6, typename T7, typename T8, typename T9, typename T10,
279
- typename T11, typename T12, typename T13, typename T14, typename T15,
280
- typename T16, typename T17, typename T18, typename T19, typename T20,
281
- typename T21>
282
- struct Types21 {
283
- typedef T1 Head;
284
- typedef Types20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
285
- T16, T17, T18, T19, T20, T21> Tail;
286
- };
287
-
288
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
289
- typename T6, typename T7, typename T8, typename T9, typename T10,
290
- typename T11, typename T12, typename T13, typename T14, typename T15,
291
- typename T16, typename T17, typename T18, typename T19, typename T20,
292
- typename T21, typename T22>
293
- struct Types22 {
294
- typedef T1 Head;
295
- typedef Types21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
296
- T16, T17, T18, T19, T20, T21, T22> Tail;
297
- };
298
-
299
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
300
- typename T6, typename T7, typename T8, typename T9, typename T10,
301
- typename T11, typename T12, typename T13, typename T14, typename T15,
302
- typename T16, typename T17, typename T18, typename T19, typename T20,
303
- typename T21, typename T22, typename T23>
304
- struct Types23 {
305
- typedef T1 Head;
306
- typedef Types22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
307
- T16, T17, T18, T19, T20, T21, T22, T23> Tail;
308
- };
309
-
310
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
311
- typename T6, typename T7, typename T8, typename T9, typename T10,
312
- typename T11, typename T12, typename T13, typename T14, typename T15,
313
- typename T16, typename T17, typename T18, typename T19, typename T20,
314
- typename T21, typename T22, typename T23, typename T24>
315
- struct Types24 {
316
- typedef T1 Head;
317
- typedef Types23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
318
- T16, T17, T18, T19, T20, T21, T22, T23, T24> Tail;
319
- };
320
-
321
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
322
- typename T6, typename T7, typename T8, typename T9, typename T10,
323
- typename T11, typename T12, typename T13, typename T14, typename T15,
324
- typename T16, typename T17, typename T18, typename T19, typename T20,
325
- typename T21, typename T22, typename T23, typename T24, typename T25>
326
- struct Types25 {
327
- typedef T1 Head;
328
- typedef Types24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
329
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Tail;
330
- };
331
-
332
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
333
- typename T6, typename T7, typename T8, typename T9, typename T10,
334
- typename T11, typename T12, typename T13, typename T14, typename T15,
335
- typename T16, typename T17, typename T18, typename T19, typename T20,
336
- typename T21, typename T22, typename T23, typename T24, typename T25,
337
- typename T26>
338
- struct Types26 {
339
- typedef T1 Head;
340
- typedef Types25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
341
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> Tail;
342
- };
343
-
344
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
345
- typename T6, typename T7, typename T8, typename T9, typename T10,
346
- typename T11, typename T12, typename T13, typename T14, typename T15,
347
- typename T16, typename T17, typename T18, typename T19, typename T20,
348
- typename T21, typename T22, typename T23, typename T24, typename T25,
349
- typename T26, typename T27>
350
- struct Types27 {
351
- typedef T1 Head;
352
- typedef Types26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
353
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> Tail;
354
- };
355
-
356
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
357
- typename T6, typename T7, typename T8, typename T9, typename T10,
358
- typename T11, typename T12, typename T13, typename T14, typename T15,
359
- typename T16, typename T17, typename T18, typename T19, typename T20,
360
- typename T21, typename T22, typename T23, typename T24, typename T25,
361
- typename T26, typename T27, typename T28>
362
- struct Types28 {
363
- typedef T1 Head;
364
- typedef Types27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
365
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> Tail;
366
- };
367
-
368
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
369
- typename T6, typename T7, typename T8, typename T9, typename T10,
370
- typename T11, typename T12, typename T13, typename T14, typename T15,
371
- typename T16, typename T17, typename T18, typename T19, typename T20,
372
- typename T21, typename T22, typename T23, typename T24, typename T25,
373
- typename T26, typename T27, typename T28, typename T29>
374
- struct Types29 {
375
- typedef T1 Head;
376
- typedef Types28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
377
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
378
- T29> Tail;
379
- };
380
-
381
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
382
- typename T6, typename T7, typename T8, typename T9, typename T10,
383
- typename T11, typename T12, typename T13, typename T14, typename T15,
384
- typename T16, typename T17, typename T18, typename T19, typename T20,
385
- typename T21, typename T22, typename T23, typename T24, typename T25,
386
- typename T26, typename T27, typename T28, typename T29, typename T30>
387
- struct Types30 {
388
- typedef T1 Head;
389
- typedef Types29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
390
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
391
- T30> Tail;
392
- };
393
-
394
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
395
- typename T6, typename T7, typename T8, typename T9, typename T10,
396
- typename T11, typename T12, typename T13, typename T14, typename T15,
397
- typename T16, typename T17, typename T18, typename T19, typename T20,
398
- typename T21, typename T22, typename T23, typename T24, typename T25,
399
- typename T26, typename T27, typename T28, typename T29, typename T30,
400
- typename T31>
401
- struct Types31 {
402
- typedef T1 Head;
403
- typedef Types30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
404
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
405
- T30, T31> Tail;
406
- };
407
-
408
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
409
- typename T6, typename T7, typename T8, typename T9, typename T10,
410
- typename T11, typename T12, typename T13, typename T14, typename T15,
411
- typename T16, typename T17, typename T18, typename T19, typename T20,
412
- typename T21, typename T22, typename T23, typename T24, typename T25,
413
- typename T26, typename T27, typename T28, typename T29, typename T30,
414
- typename T31, typename T32>
415
- struct Types32 {
416
- typedef T1 Head;
417
- typedef Types31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
418
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
419
- T30, T31, T32> Tail;
420
- };
421
-
422
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
423
- typename T6, typename T7, typename T8, typename T9, typename T10,
424
- typename T11, typename T12, typename T13, typename T14, typename T15,
425
- typename T16, typename T17, typename T18, typename T19, typename T20,
426
- typename T21, typename T22, typename T23, typename T24, typename T25,
427
- typename T26, typename T27, typename T28, typename T29, typename T30,
428
- typename T31, typename T32, typename T33>
429
- struct Types33 {
430
- typedef T1 Head;
431
- typedef Types32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
432
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
433
- T30, T31, T32, T33> Tail;
434
- };
435
-
436
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
437
- typename T6, typename T7, typename T8, typename T9, typename T10,
438
- typename T11, typename T12, typename T13, typename T14, typename T15,
439
- typename T16, typename T17, typename T18, typename T19, typename T20,
440
- typename T21, typename T22, typename T23, typename T24, typename T25,
441
- typename T26, typename T27, typename T28, typename T29, typename T30,
442
- typename T31, typename T32, typename T33, typename T34>
443
- struct Types34 {
444
- typedef T1 Head;
445
- typedef Types33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
446
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
447
- T30, T31, T32, T33, T34> Tail;
448
- };
449
-
450
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
451
- typename T6, typename T7, typename T8, typename T9, typename T10,
452
- typename T11, typename T12, typename T13, typename T14, typename T15,
453
- typename T16, typename T17, typename T18, typename T19, typename T20,
454
- typename T21, typename T22, typename T23, typename T24, typename T25,
455
- typename T26, typename T27, typename T28, typename T29, typename T30,
456
- typename T31, typename T32, typename T33, typename T34, typename T35>
457
- struct Types35 {
458
- typedef T1 Head;
459
- typedef Types34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
460
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
461
- T30, T31, T32, T33, T34, T35> Tail;
462
- };
463
-
464
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
465
- typename T6, typename T7, typename T8, typename T9, typename T10,
466
- typename T11, typename T12, typename T13, typename T14, typename T15,
467
- typename T16, typename T17, typename T18, typename T19, typename T20,
468
- typename T21, typename T22, typename T23, typename T24, typename T25,
469
- typename T26, typename T27, typename T28, typename T29, typename T30,
470
- typename T31, typename T32, typename T33, typename T34, typename T35,
471
- typename T36>
472
- struct Types36 {
473
- typedef T1 Head;
474
- typedef Types35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
475
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
476
- T30, T31, T32, T33, T34, T35, T36> Tail;
477
- };
478
-
479
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
480
- typename T6, typename T7, typename T8, typename T9, typename T10,
481
- typename T11, typename T12, typename T13, typename T14, typename T15,
482
- typename T16, typename T17, typename T18, typename T19, typename T20,
483
- typename T21, typename T22, typename T23, typename T24, typename T25,
484
- typename T26, typename T27, typename T28, typename T29, typename T30,
485
- typename T31, typename T32, typename T33, typename T34, typename T35,
486
- typename T36, typename T37>
487
- struct Types37 {
488
- typedef T1 Head;
489
- typedef Types36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
490
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
491
- T30, T31, T32, T33, T34, T35, T36, T37> Tail;
492
- };
493
-
494
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
495
- typename T6, typename T7, typename T8, typename T9, typename T10,
496
- typename T11, typename T12, typename T13, typename T14, typename T15,
497
- typename T16, typename T17, typename T18, typename T19, typename T20,
498
- typename T21, typename T22, typename T23, typename T24, typename T25,
499
- typename T26, typename T27, typename T28, typename T29, typename T30,
500
- typename T31, typename T32, typename T33, typename T34, typename T35,
501
- typename T36, typename T37, typename T38>
502
- struct Types38 {
503
- typedef T1 Head;
504
- typedef Types37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
505
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
506
- T30, T31, T32, T33, T34, T35, T36, T37, T38> Tail;
507
- };
508
-
509
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
510
- typename T6, typename T7, typename T8, typename T9, typename T10,
511
- typename T11, typename T12, typename T13, typename T14, typename T15,
512
- typename T16, typename T17, typename T18, typename T19, typename T20,
513
- typename T21, typename T22, typename T23, typename T24, typename T25,
514
- typename T26, typename T27, typename T28, typename T29, typename T30,
515
- typename T31, typename T32, typename T33, typename T34, typename T35,
516
- typename T36, typename T37, typename T38, typename T39>
517
- struct Types39 {
518
- typedef T1 Head;
519
- typedef Types38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
520
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
521
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> Tail;
522
- };
523
-
524
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
525
- typename T6, typename T7, typename T8, typename T9, typename T10,
526
- typename T11, typename T12, typename T13, typename T14, typename T15,
527
- typename T16, typename T17, typename T18, typename T19, typename T20,
528
- typename T21, typename T22, typename T23, typename T24, typename T25,
529
- typename T26, typename T27, typename T28, typename T29, typename T30,
530
- typename T31, typename T32, typename T33, typename T34, typename T35,
531
- typename T36, typename T37, typename T38, typename T39, typename T40>
532
- struct Types40 {
533
- typedef T1 Head;
534
- typedef Types39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
535
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
536
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> Tail;
537
- };
538
-
539
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
540
- typename T6, typename T7, typename T8, typename T9, typename T10,
541
- typename T11, typename T12, typename T13, typename T14, typename T15,
542
- typename T16, typename T17, typename T18, typename T19, typename T20,
543
- typename T21, typename T22, typename T23, typename T24, typename T25,
544
- typename T26, typename T27, typename T28, typename T29, typename T30,
545
- typename T31, typename T32, typename T33, typename T34, typename T35,
546
- typename T36, typename T37, typename T38, typename T39, typename T40,
547
- typename T41>
548
- struct Types41 {
549
- typedef T1 Head;
550
- typedef Types40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
551
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
552
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41> Tail;
553
- };
554
-
555
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
556
- typename T6, typename T7, typename T8, typename T9, typename T10,
557
- typename T11, typename T12, typename T13, typename T14, typename T15,
558
- typename T16, typename T17, typename T18, typename T19, typename T20,
559
- typename T21, typename T22, typename T23, typename T24, typename T25,
560
- typename T26, typename T27, typename T28, typename T29, typename T30,
561
- typename T31, typename T32, typename T33, typename T34, typename T35,
562
- typename T36, typename T37, typename T38, typename T39, typename T40,
563
- typename T41, typename T42>
564
- struct Types42 {
565
- typedef T1 Head;
566
- typedef Types41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
567
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
568
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42> Tail;
569
- };
570
-
571
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
572
- typename T6, typename T7, typename T8, typename T9, typename T10,
573
- typename T11, typename T12, typename T13, typename T14, typename T15,
574
- typename T16, typename T17, typename T18, typename T19, typename T20,
575
- typename T21, typename T22, typename T23, typename T24, typename T25,
576
- typename T26, typename T27, typename T28, typename T29, typename T30,
577
- typename T31, typename T32, typename T33, typename T34, typename T35,
578
- typename T36, typename T37, typename T38, typename T39, typename T40,
579
- typename T41, typename T42, typename T43>
580
- struct Types43 {
581
- typedef T1 Head;
582
- typedef Types42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
583
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
584
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
585
- T43> Tail;
586
- };
587
-
588
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
589
- typename T6, typename T7, typename T8, typename T9, typename T10,
590
- typename T11, typename T12, typename T13, typename T14, typename T15,
591
- typename T16, typename T17, typename T18, typename T19, typename T20,
592
- typename T21, typename T22, typename T23, typename T24, typename T25,
593
- typename T26, typename T27, typename T28, typename T29, typename T30,
594
- typename T31, typename T32, typename T33, typename T34, typename T35,
595
- typename T36, typename T37, typename T38, typename T39, typename T40,
596
- typename T41, typename T42, typename T43, typename T44>
597
- struct Types44 {
598
- typedef T1 Head;
599
- typedef Types43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
600
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
601
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
602
- T44> Tail;
603
- };
604
-
605
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
606
- typename T6, typename T7, typename T8, typename T9, typename T10,
607
- typename T11, typename T12, typename T13, typename T14, typename T15,
608
- typename T16, typename T17, typename T18, typename T19, typename T20,
609
- typename T21, typename T22, typename T23, typename T24, typename T25,
610
- typename T26, typename T27, typename T28, typename T29, typename T30,
611
- typename T31, typename T32, typename T33, typename T34, typename T35,
612
- typename T36, typename T37, typename T38, typename T39, typename T40,
613
- typename T41, typename T42, typename T43, typename T44, typename T45>
614
- struct Types45 {
615
- typedef T1 Head;
616
- typedef Types44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
617
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
618
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
619
- T44, T45> Tail;
620
- };
621
-
622
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
623
- typename T6, typename T7, typename T8, typename T9, typename T10,
624
- typename T11, typename T12, typename T13, typename T14, typename T15,
625
- typename T16, typename T17, typename T18, typename T19, typename T20,
626
- typename T21, typename T22, typename T23, typename T24, typename T25,
627
- typename T26, typename T27, typename T28, typename T29, typename T30,
628
- typename T31, typename T32, typename T33, typename T34, typename T35,
629
- typename T36, typename T37, typename T38, typename T39, typename T40,
630
- typename T41, typename T42, typename T43, typename T44, typename T45,
631
- typename T46>
632
- struct Types46 {
633
- typedef T1 Head;
634
- typedef Types45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
635
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
636
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
637
- T44, T45, T46> Tail;
638
- };
639
-
640
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
641
- typename T6, typename T7, typename T8, typename T9, typename T10,
642
- typename T11, typename T12, typename T13, typename T14, typename T15,
643
- typename T16, typename T17, typename T18, typename T19, typename T20,
644
- typename T21, typename T22, typename T23, typename T24, typename T25,
645
- typename T26, typename T27, typename T28, typename T29, typename T30,
646
- typename T31, typename T32, typename T33, typename T34, typename T35,
647
- typename T36, typename T37, typename T38, typename T39, typename T40,
648
- typename T41, typename T42, typename T43, typename T44, typename T45,
649
- typename T46, typename T47>
650
- struct Types47 {
651
- typedef T1 Head;
652
- typedef Types46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
653
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
654
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
655
- T44, T45, T46, T47> Tail;
656
- };
657
-
658
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
659
- typename T6, typename T7, typename T8, typename T9, typename T10,
660
- typename T11, typename T12, typename T13, typename T14, typename T15,
661
- typename T16, typename T17, typename T18, typename T19, typename T20,
662
- typename T21, typename T22, typename T23, typename T24, typename T25,
663
- typename T26, typename T27, typename T28, typename T29, typename T30,
664
- typename T31, typename T32, typename T33, typename T34, typename T35,
665
- typename T36, typename T37, typename T38, typename T39, typename T40,
666
- typename T41, typename T42, typename T43, typename T44, typename T45,
667
- typename T46, typename T47, typename T48>
668
- struct Types48 {
669
- typedef T1 Head;
670
- typedef Types47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
671
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
672
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
673
- T44, T45, T46, T47, T48> Tail;
674
- };
675
-
676
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
677
- typename T6, typename T7, typename T8, typename T9, typename T10,
678
- typename T11, typename T12, typename T13, typename T14, typename T15,
679
- typename T16, typename T17, typename T18, typename T19, typename T20,
680
- typename T21, typename T22, typename T23, typename T24, typename T25,
681
- typename T26, typename T27, typename T28, typename T29, typename T30,
682
- typename T31, typename T32, typename T33, typename T34, typename T35,
683
- typename T36, typename T37, typename T38, typename T39, typename T40,
684
- typename T41, typename T42, typename T43, typename T44, typename T45,
685
- typename T46, typename T47, typename T48, typename T49>
686
- struct Types49 {
687
- typedef T1 Head;
688
- typedef Types48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
689
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
690
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
691
- T44, T45, T46, T47, T48, T49> Tail;
692
- };
693
-
694
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
695
- typename T6, typename T7, typename T8, typename T9, typename T10,
696
- typename T11, typename T12, typename T13, typename T14, typename T15,
697
- typename T16, typename T17, typename T18, typename T19, typename T20,
698
- typename T21, typename T22, typename T23, typename T24, typename T25,
699
- typename T26, typename T27, typename T28, typename T29, typename T30,
700
- typename T31, typename T32, typename T33, typename T34, typename T35,
701
- typename T36, typename T37, typename T38, typename T39, typename T40,
702
- typename T41, typename T42, typename T43, typename T44, typename T45,
703
- typename T46, typename T47, typename T48, typename T49, typename T50>
704
- struct Types50 {
705
- typedef T1 Head;
706
- typedef Types49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
707
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
708
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
709
- T44, T45, T46, T47, T48, T49, T50> Tail;
710
- };
711
-
712
-
713
- } // namespace internal
714
-
715
- // We don't want to require the users to write TypesN<...> directly,
716
- // as that would require them to count the length. Types<...> is much
717
- // easier to write, but generates horrible messages when there is a
718
- // compiler error, as gcc insists on printing out each template
719
- // argument, even if it has the default value (this means Types<int>
720
- // will appear as Types<int, None, None, ..., None> in the compiler
721
- // errors).
722
- //
723
- // Our solution is to combine the best part of the two approaches: a
724
- // user would write Types<T1, ..., TN>, and Google Test will translate
725
- // that to TypesN<T1, ..., TN> internally to make error messages
726
- // readable. The translation is done by the 'type' member of the
727
- // Types template.
728
- template <typename T1 = internal::None, typename T2 = internal::None,
729
- typename T3 = internal::None, typename T4 = internal::None,
730
- typename T5 = internal::None, typename T6 = internal::None,
731
- typename T7 = internal::None, typename T8 = internal::None,
732
- typename T9 = internal::None, typename T10 = internal::None,
733
- typename T11 = internal::None, typename T12 = internal::None,
734
- typename T13 = internal::None, typename T14 = internal::None,
735
- typename T15 = internal::None, typename T16 = internal::None,
736
- typename T17 = internal::None, typename T18 = internal::None,
737
- typename T19 = internal::None, typename T20 = internal::None,
738
- typename T21 = internal::None, typename T22 = internal::None,
739
- typename T23 = internal::None, typename T24 = internal::None,
740
- typename T25 = internal::None, typename T26 = internal::None,
741
- typename T27 = internal::None, typename T28 = internal::None,
742
- typename T29 = internal::None, typename T30 = internal::None,
743
- typename T31 = internal::None, typename T32 = internal::None,
744
- typename T33 = internal::None, typename T34 = internal::None,
745
- typename T35 = internal::None, typename T36 = internal::None,
746
- typename T37 = internal::None, typename T38 = internal::None,
747
- typename T39 = internal::None, typename T40 = internal::None,
748
- typename T41 = internal::None, typename T42 = internal::None,
749
- typename T43 = internal::None, typename T44 = internal::None,
750
- typename T45 = internal::None, typename T46 = internal::None,
751
- typename T47 = internal::None, typename T48 = internal::None,
752
- typename T49 = internal::None, typename T50 = internal::None>
753
- struct Types {
754
- typedef internal::Types50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
755
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
756
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
757
- T41, T42, T43, T44, T45, T46, T47, T48, T49, T50> type;
758
- };
759
-
760
- template <>
761
- struct Types<internal::None, internal::None, internal::None, internal::None,
762
- internal::None, internal::None, internal::None, internal::None,
763
- internal::None, internal::None, internal::None, internal::None,
764
- internal::None, internal::None, internal::None, internal::None,
765
- internal::None, internal::None, internal::None, internal::None,
766
- internal::None, internal::None, internal::None, internal::None,
767
- internal::None, internal::None, internal::None, internal::None,
768
- internal::None, internal::None, internal::None, internal::None,
769
- internal::None, internal::None, internal::None, internal::None,
770
- internal::None, internal::None, internal::None, internal::None,
771
- internal::None, internal::None, internal::None, internal::None,
772
- internal::None, internal::None, internal::None, internal::None,
773
- internal::None, internal::None> {
774
- typedef internal::Types0 type;
775
- };
776
- template <typename T1>
777
- struct Types<T1, internal::None, internal::None, internal::None,
778
- internal::None, internal::None, internal::None, internal::None,
779
- internal::None, internal::None, internal::None, internal::None,
780
- internal::None, internal::None, internal::None, internal::None,
781
- internal::None, internal::None, internal::None, internal::None,
782
- internal::None, internal::None, internal::None, internal::None,
783
- internal::None, internal::None, internal::None, internal::None,
784
- internal::None, internal::None, internal::None, internal::None,
785
- internal::None, internal::None, internal::None, internal::None,
786
- internal::None, internal::None, internal::None, internal::None,
787
- internal::None, internal::None, internal::None, internal::None,
788
- internal::None, internal::None, internal::None, internal::None,
789
- internal::None, internal::None> {
790
- typedef internal::Types1<T1> type;
791
- };
792
- template <typename T1, typename T2>
793
- struct Types<T1, T2, internal::None, internal::None, internal::None,
794
- internal::None, internal::None, internal::None, internal::None,
795
- internal::None, internal::None, internal::None, internal::None,
796
- internal::None, internal::None, internal::None, internal::None,
797
- internal::None, internal::None, internal::None, internal::None,
798
- internal::None, internal::None, internal::None, internal::None,
799
- internal::None, internal::None, internal::None, internal::None,
800
- internal::None, internal::None, internal::None, internal::None,
801
- internal::None, internal::None, internal::None, internal::None,
802
- internal::None, internal::None, internal::None, internal::None,
803
- internal::None, internal::None, internal::None, internal::None,
804
- internal::None, internal::None, internal::None, internal::None,
805
- internal::None> {
806
- typedef internal::Types2<T1, T2> type;
807
- };
808
- template <typename T1, typename T2, typename T3>
809
- struct Types<T1, T2, T3, internal::None, internal::None, internal::None,
810
- internal::None, internal::None, internal::None, internal::None,
811
- internal::None, internal::None, internal::None, internal::None,
812
- internal::None, internal::None, internal::None, internal::None,
813
- internal::None, internal::None, internal::None, internal::None,
814
- internal::None, internal::None, internal::None, internal::None,
815
- internal::None, internal::None, internal::None, internal::None,
816
- internal::None, internal::None, internal::None, internal::None,
817
- internal::None, internal::None, internal::None, internal::None,
818
- internal::None, internal::None, internal::None, internal::None,
819
- internal::None, internal::None, internal::None, internal::None,
820
- internal::None, internal::None, internal::None, internal::None> {
821
- typedef internal::Types3<T1, T2, T3> type;
822
- };
823
- template <typename T1, typename T2, typename T3, typename T4>
824
- struct Types<T1, T2, T3, T4, internal::None, internal::None, internal::None,
825
- internal::None, internal::None, internal::None, internal::None,
826
- internal::None, internal::None, internal::None, internal::None,
827
- internal::None, internal::None, internal::None, internal::None,
828
- internal::None, internal::None, internal::None, internal::None,
829
- internal::None, internal::None, internal::None, internal::None,
830
- internal::None, internal::None, internal::None, internal::None,
831
- internal::None, internal::None, internal::None, internal::None,
832
- internal::None, internal::None, internal::None, internal::None,
833
- internal::None, internal::None, internal::None, internal::None,
834
- internal::None, internal::None, internal::None, internal::None,
835
- internal::None, internal::None, internal::None> {
836
- typedef internal::Types4<T1, T2, T3, T4> type;
837
- };
838
- template <typename T1, typename T2, typename T3, typename T4, typename T5>
839
- struct Types<T1, T2, T3, T4, T5, internal::None, internal::None,
840
- internal::None, internal::None, internal::None, internal::None,
841
- internal::None, internal::None, internal::None, internal::None,
842
- internal::None, internal::None, internal::None, internal::None,
843
- internal::None, internal::None, internal::None, internal::None,
844
- internal::None, internal::None, internal::None, internal::None,
845
- internal::None, internal::None, internal::None, internal::None,
846
- internal::None, internal::None, internal::None, internal::None,
847
- internal::None, internal::None, internal::None, internal::None,
848
- internal::None, internal::None, internal::None, internal::None,
849
- internal::None, internal::None, internal::None, internal::None,
850
- internal::None, internal::None, internal::None> {
851
- typedef internal::Types5<T1, T2, T3, T4, T5> type;
852
- };
853
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
854
- typename T6>
855
- struct Types<T1, T2, T3, T4, T5, T6, internal::None, internal::None,
856
- internal::None, internal::None, internal::None, internal::None,
857
- internal::None, internal::None, internal::None, internal::None,
858
- internal::None, internal::None, internal::None, internal::None,
859
- internal::None, internal::None, internal::None, internal::None,
860
- internal::None, internal::None, internal::None, internal::None,
861
- internal::None, internal::None, internal::None, internal::None,
862
- internal::None, internal::None, internal::None, internal::None,
863
- internal::None, internal::None, internal::None, internal::None,
864
- internal::None, internal::None, internal::None, internal::None,
865
- internal::None, internal::None, internal::None, internal::None,
866
- internal::None, internal::None> {
867
- typedef internal::Types6<T1, T2, T3, T4, T5, T6> type;
868
- };
869
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
870
- typename T6, typename T7>
871
- struct Types<T1, T2, T3, T4, T5, T6, T7, internal::None, internal::None,
872
- internal::None, internal::None, internal::None, internal::None,
873
- internal::None, internal::None, internal::None, internal::None,
874
- internal::None, internal::None, internal::None, internal::None,
875
- internal::None, internal::None, internal::None, internal::None,
876
- internal::None, internal::None, internal::None, internal::None,
877
- internal::None, internal::None, internal::None, internal::None,
878
- internal::None, internal::None, internal::None, internal::None,
879
- internal::None, internal::None, internal::None, internal::None,
880
- internal::None, internal::None, internal::None, internal::None,
881
- internal::None, internal::None, internal::None, internal::None,
882
- internal::None> {
883
- typedef internal::Types7<T1, T2, T3, T4, T5, T6, T7> type;
884
- };
885
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
886
- typename T6, typename T7, typename T8>
887
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, internal::None, internal::None,
888
- internal::None, internal::None, internal::None, internal::None,
889
- internal::None, internal::None, internal::None, internal::None,
890
- internal::None, internal::None, internal::None, internal::None,
891
- internal::None, internal::None, internal::None, internal::None,
892
- internal::None, internal::None, internal::None, internal::None,
893
- internal::None, internal::None, internal::None, internal::None,
894
- internal::None, internal::None, internal::None, internal::None,
895
- internal::None, internal::None, internal::None, internal::None,
896
- internal::None, internal::None, internal::None, internal::None,
897
- internal::None, internal::None, internal::None, internal::None> {
898
- typedef internal::Types8<T1, T2, T3, T4, T5, T6, T7, T8> type;
899
- };
900
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
901
- typename T6, typename T7, typename T8, typename T9>
902
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, internal::None,
903
- internal::None, internal::None, internal::None, internal::None,
904
- internal::None, internal::None, internal::None, internal::None,
905
- internal::None, internal::None, internal::None, internal::None,
906
- internal::None, internal::None, internal::None, internal::None,
907
- internal::None, internal::None, internal::None, internal::None,
908
- internal::None, internal::None, internal::None, internal::None,
909
- internal::None, internal::None, internal::None, internal::None,
910
- internal::None, internal::None, internal::None, internal::None,
911
- internal::None, internal::None, internal::None, internal::None,
912
- internal::None, internal::None, internal::None, internal::None> {
913
- typedef internal::Types9<T1, T2, T3, T4, T5, T6, T7, T8, T9> type;
914
- };
915
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
916
- typename T6, typename T7, typename T8, typename T9, typename T10>
917
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, internal::None,
918
- internal::None, internal::None, internal::None, internal::None,
919
- internal::None, internal::None, internal::None, internal::None,
920
- internal::None, internal::None, internal::None, internal::None,
921
- internal::None, internal::None, internal::None, internal::None,
922
- internal::None, internal::None, internal::None, internal::None,
923
- internal::None, internal::None, internal::None, internal::None,
924
- internal::None, internal::None, internal::None, internal::None,
925
- internal::None, internal::None, internal::None, internal::None,
926
- internal::None, internal::None, internal::None, internal::None,
927
- internal::None, internal::None, internal::None> {
928
- typedef internal::Types10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> type;
929
- };
930
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
931
- typename T6, typename T7, typename T8, typename T9, typename T10,
932
- typename T11>
933
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, internal::None,
934
- internal::None, internal::None, internal::None, internal::None,
935
- internal::None, internal::None, internal::None, internal::None,
936
- internal::None, internal::None, internal::None, internal::None,
937
- internal::None, internal::None, internal::None, internal::None,
938
- internal::None, internal::None, internal::None, internal::None,
939
- internal::None, internal::None, internal::None, internal::None,
940
- internal::None, internal::None, internal::None, internal::None,
941
- internal::None, internal::None, internal::None, internal::None,
942
- internal::None, internal::None, internal::None, internal::None,
943
- internal::None, internal::None> {
944
- typedef internal::Types11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> type;
945
- };
946
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
947
- typename T6, typename T7, typename T8, typename T9, typename T10,
948
- typename T11, typename T12>
949
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, internal::None,
950
- internal::None, internal::None, internal::None, internal::None,
951
- internal::None, internal::None, internal::None, internal::None,
952
- internal::None, internal::None, internal::None, internal::None,
953
- internal::None, internal::None, internal::None, internal::None,
954
- internal::None, internal::None, internal::None, internal::None,
955
- internal::None, internal::None, internal::None, internal::None,
956
- internal::None, internal::None, internal::None, internal::None,
957
- internal::None, internal::None, internal::None, internal::None,
958
- internal::None, internal::None, internal::None, internal::None,
959
- internal::None> {
960
- typedef internal::Types12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
961
- T12> type;
962
- };
963
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
964
- typename T6, typename T7, typename T8, typename T9, typename T10,
965
- typename T11, typename T12, typename T13>
966
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
967
- internal::None, internal::None, internal::None, internal::None,
968
- internal::None, internal::None, internal::None, internal::None,
969
- internal::None, internal::None, internal::None, internal::None,
970
- internal::None, internal::None, internal::None, internal::None,
971
- internal::None, internal::None, internal::None, internal::None,
972
- internal::None, internal::None, internal::None, internal::None,
973
- internal::None, internal::None, internal::None, internal::None,
974
- internal::None, internal::None, internal::None, internal::None,
975
- internal::None, internal::None, internal::None, internal::None,
976
- internal::None> {
977
- typedef internal::Types13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
978
- T13> type;
979
- };
980
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
981
- typename T6, typename T7, typename T8, typename T9, typename T10,
982
- typename T11, typename T12, typename T13, typename T14>
983
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
984
- internal::None, internal::None, internal::None, internal::None,
985
- internal::None, internal::None, internal::None, internal::None,
986
- internal::None, internal::None, internal::None, internal::None,
987
- internal::None, internal::None, internal::None, internal::None,
988
- internal::None, internal::None, internal::None, internal::None,
989
- internal::None, internal::None, internal::None, internal::None,
990
- internal::None, internal::None, internal::None, internal::None,
991
- internal::None, internal::None, internal::None, internal::None,
992
- internal::None, internal::None, internal::None, internal::None> {
993
- typedef internal::Types14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
994
- T13, T14> type;
995
- };
996
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
997
- typename T6, typename T7, typename T8, typename T9, typename T10,
998
- typename T11, typename T12, typename T13, typename T14, typename T15>
999
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1000
- internal::None, internal::None, internal::None, internal::None,
1001
- internal::None, internal::None, internal::None, internal::None,
1002
- internal::None, internal::None, internal::None, internal::None,
1003
- internal::None, internal::None, internal::None, internal::None,
1004
- internal::None, internal::None, internal::None, internal::None,
1005
- internal::None, internal::None, internal::None, internal::None,
1006
- internal::None, internal::None, internal::None, internal::None,
1007
- internal::None, internal::None, internal::None, internal::None,
1008
- internal::None, internal::None, internal::None> {
1009
- typedef internal::Types15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1010
- T13, T14, T15> type;
1011
- };
1012
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1013
- typename T6, typename T7, typename T8, typename T9, typename T10,
1014
- typename T11, typename T12, typename T13, typename T14, typename T15,
1015
- typename T16>
1016
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1017
- T16, internal::None, internal::None, internal::None, internal::None,
1018
- internal::None, internal::None, internal::None, internal::None,
1019
- internal::None, internal::None, internal::None, internal::None,
1020
- internal::None, internal::None, internal::None, internal::None,
1021
- internal::None, internal::None, internal::None, internal::None,
1022
- internal::None, internal::None, internal::None, internal::None,
1023
- internal::None, internal::None, internal::None, internal::None,
1024
- internal::None, internal::None, internal::None, internal::None,
1025
- internal::None, internal::None> {
1026
- typedef internal::Types16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1027
- T13, T14, T15, T16> type;
1028
- };
1029
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1030
- typename T6, typename T7, typename T8, typename T9, typename T10,
1031
- typename T11, typename T12, typename T13, typename T14, typename T15,
1032
- typename T16, typename T17>
1033
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1034
- T16, T17, internal::None, internal::None, internal::None, internal::None,
1035
- internal::None, internal::None, internal::None, internal::None,
1036
- internal::None, internal::None, internal::None, internal::None,
1037
- internal::None, internal::None, internal::None, internal::None,
1038
- internal::None, internal::None, internal::None, internal::None,
1039
- internal::None, internal::None, internal::None, internal::None,
1040
- internal::None, internal::None, internal::None, internal::None,
1041
- internal::None, internal::None, internal::None, internal::None,
1042
- internal::None> {
1043
- typedef internal::Types17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1044
- T13, T14, T15, T16, T17> type;
1045
- };
1046
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1047
- typename T6, typename T7, typename T8, typename T9, typename T10,
1048
- typename T11, typename T12, typename T13, typename T14, typename T15,
1049
- typename T16, typename T17, typename T18>
1050
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1051
- T16, T17, T18, internal::None, internal::None, internal::None,
1052
- internal::None, internal::None, internal::None, internal::None,
1053
- internal::None, internal::None, internal::None, internal::None,
1054
- internal::None, internal::None, internal::None, internal::None,
1055
- internal::None, internal::None, internal::None, internal::None,
1056
- internal::None, internal::None, internal::None, internal::None,
1057
- internal::None, internal::None, internal::None, internal::None,
1058
- internal::None, internal::None, internal::None, internal::None,
1059
- internal::None> {
1060
- typedef internal::Types18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1061
- T13, T14, T15, T16, T17, T18> type;
1062
- };
1063
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1064
- typename T6, typename T7, typename T8, typename T9, typename T10,
1065
- typename T11, typename T12, typename T13, typename T14, typename T15,
1066
- typename T16, typename T17, typename T18, typename T19>
1067
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1068
- T16, T17, T18, T19, internal::None, internal::None, internal::None,
1069
- internal::None, internal::None, internal::None, internal::None,
1070
- internal::None, internal::None, internal::None, internal::None,
1071
- internal::None, internal::None, internal::None, internal::None,
1072
- internal::None, internal::None, internal::None, internal::None,
1073
- internal::None, internal::None, internal::None, internal::None,
1074
- internal::None, internal::None, internal::None, internal::None,
1075
- internal::None, internal::None, internal::None, internal::None> {
1076
- typedef internal::Types19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1077
- T13, T14, T15, T16, T17, T18, T19> type;
1078
- };
1079
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1080
- typename T6, typename T7, typename T8, typename T9, typename T10,
1081
- typename T11, typename T12, typename T13, typename T14, typename T15,
1082
- typename T16, typename T17, typename T18, typename T19, typename T20>
1083
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1084
- T16, T17, T18, T19, T20, internal::None, internal::None, internal::None,
1085
- internal::None, internal::None, internal::None, internal::None,
1086
- internal::None, internal::None, internal::None, internal::None,
1087
- internal::None, internal::None, internal::None, internal::None,
1088
- internal::None, internal::None, internal::None, internal::None,
1089
- internal::None, internal::None, internal::None, internal::None,
1090
- internal::None, internal::None, internal::None, internal::None,
1091
- internal::None, internal::None, internal::None> {
1092
- typedef internal::Types20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1093
- T13, T14, T15, T16, T17, T18, T19, T20> type;
1094
- };
1095
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1096
- typename T6, typename T7, typename T8, typename T9, typename T10,
1097
- typename T11, typename T12, typename T13, typename T14, typename T15,
1098
- typename T16, typename T17, typename T18, typename T19, typename T20,
1099
- typename T21>
1100
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1101
- T16, T17, T18, T19, T20, T21, internal::None, internal::None,
1102
- internal::None, internal::None, internal::None, internal::None,
1103
- internal::None, internal::None, internal::None, internal::None,
1104
- internal::None, internal::None, internal::None, internal::None,
1105
- internal::None, internal::None, internal::None, internal::None,
1106
- internal::None, internal::None, internal::None, internal::None,
1107
- internal::None, internal::None, internal::None, internal::None,
1108
- internal::None, internal::None, internal::None> {
1109
- typedef internal::Types21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1110
- T13, T14, T15, T16, T17, T18, T19, T20, T21> type;
1111
- };
1112
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1113
- typename T6, typename T7, typename T8, typename T9, typename T10,
1114
- typename T11, typename T12, typename T13, typename T14, typename T15,
1115
- typename T16, typename T17, typename T18, typename T19, typename T20,
1116
- typename T21, typename T22>
1117
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1118
- T16, T17, T18, T19, T20, T21, T22, internal::None, internal::None,
1119
- internal::None, internal::None, internal::None, internal::None,
1120
- internal::None, internal::None, internal::None, internal::None,
1121
- internal::None, internal::None, internal::None, internal::None,
1122
- internal::None, internal::None, internal::None, internal::None,
1123
- internal::None, internal::None, internal::None, internal::None,
1124
- internal::None, internal::None, internal::None, internal::None,
1125
- internal::None, internal::None> {
1126
- typedef internal::Types22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1127
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> type;
1128
- };
1129
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1130
- typename T6, typename T7, typename T8, typename T9, typename T10,
1131
- typename T11, typename T12, typename T13, typename T14, typename T15,
1132
- typename T16, typename T17, typename T18, typename T19, typename T20,
1133
- typename T21, typename T22, typename T23>
1134
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1135
- T16, T17, T18, T19, T20, T21, T22, T23, internal::None, internal::None,
1136
- internal::None, internal::None, internal::None, internal::None,
1137
- internal::None, internal::None, internal::None, internal::None,
1138
- internal::None, internal::None, internal::None, internal::None,
1139
- internal::None, internal::None, internal::None, internal::None,
1140
- internal::None, internal::None, internal::None, internal::None,
1141
- internal::None, internal::None, internal::None, internal::None,
1142
- internal::None> {
1143
- typedef internal::Types23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1144
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> type;
1145
- };
1146
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1147
- typename T6, typename T7, typename T8, typename T9, typename T10,
1148
- typename T11, typename T12, typename T13, typename T14, typename T15,
1149
- typename T16, typename T17, typename T18, typename T19, typename T20,
1150
- typename T21, typename T22, typename T23, typename T24>
1151
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1152
- T16, T17, T18, T19, T20, T21, T22, T23, T24, internal::None,
1153
- internal::None, internal::None, internal::None, internal::None,
1154
- internal::None, internal::None, internal::None, internal::None,
1155
- internal::None, internal::None, internal::None, internal::None,
1156
- internal::None, internal::None, internal::None, internal::None,
1157
- internal::None, internal::None, internal::None, internal::None,
1158
- internal::None, internal::None, internal::None, internal::None,
1159
- internal::None> {
1160
- typedef internal::Types24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1161
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> type;
1162
- };
1163
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1164
- typename T6, typename T7, typename T8, typename T9, typename T10,
1165
- typename T11, typename T12, typename T13, typename T14, typename T15,
1166
- typename T16, typename T17, typename T18, typename T19, typename T20,
1167
- typename T21, typename T22, typename T23, typename T24, typename T25>
1168
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1169
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, internal::None,
1170
- internal::None, internal::None, internal::None, internal::None,
1171
- internal::None, internal::None, internal::None, internal::None,
1172
- internal::None, internal::None, internal::None, internal::None,
1173
- internal::None, internal::None, internal::None, internal::None,
1174
- internal::None, internal::None, internal::None, internal::None,
1175
- internal::None, internal::None, internal::None, internal::None> {
1176
- typedef internal::Types25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1177
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> type;
1178
- };
1179
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1180
- typename T6, typename T7, typename T8, typename T9, typename T10,
1181
- typename T11, typename T12, typename T13, typename T14, typename T15,
1182
- typename T16, typename T17, typename T18, typename T19, typename T20,
1183
- typename T21, typename T22, typename T23, typename T24, typename T25,
1184
- typename T26>
1185
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1186
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, internal::None,
1187
- internal::None, internal::None, internal::None, internal::None,
1188
- internal::None, internal::None, internal::None, internal::None,
1189
- internal::None, internal::None, internal::None, internal::None,
1190
- internal::None, internal::None, internal::None, internal::None,
1191
- internal::None, internal::None, internal::None, internal::None,
1192
- internal::None, internal::None, internal::None> {
1193
- typedef internal::Types26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1194
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25,
1195
- T26> type;
1196
- };
1197
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1198
- typename T6, typename T7, typename T8, typename T9, typename T10,
1199
- typename T11, typename T12, typename T13, typename T14, typename T15,
1200
- typename T16, typename T17, typename T18, typename T19, typename T20,
1201
- typename T21, typename T22, typename T23, typename T24, typename T25,
1202
- typename T26, typename T27>
1203
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1204
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, internal::None,
1205
- internal::None, internal::None, internal::None, internal::None,
1206
- internal::None, internal::None, internal::None, internal::None,
1207
- internal::None, internal::None, internal::None, internal::None,
1208
- internal::None, internal::None, internal::None, internal::None,
1209
- internal::None, internal::None, internal::None, internal::None,
1210
- internal::None, internal::None> {
1211
- typedef internal::Types27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1212
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1213
- T27> type;
1214
- };
1215
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1216
- typename T6, typename T7, typename T8, typename T9, typename T10,
1217
- typename T11, typename T12, typename T13, typename T14, typename T15,
1218
- typename T16, typename T17, typename T18, typename T19, typename T20,
1219
- typename T21, typename T22, typename T23, typename T24, typename T25,
1220
- typename T26, typename T27, typename T28>
1221
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1222
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1223
- internal::None, internal::None, internal::None, internal::None,
1224
- internal::None, internal::None, internal::None, internal::None,
1225
- internal::None, internal::None, internal::None, internal::None,
1226
- internal::None, internal::None, internal::None, internal::None,
1227
- internal::None, internal::None, internal::None, internal::None,
1228
- internal::None, internal::None> {
1229
- typedef internal::Types28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1230
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1231
- T27, T28> type;
1232
- };
1233
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1234
- typename T6, typename T7, typename T8, typename T9, typename T10,
1235
- typename T11, typename T12, typename T13, typename T14, typename T15,
1236
- typename T16, typename T17, typename T18, typename T19, typename T20,
1237
- typename T21, typename T22, typename T23, typename T24, typename T25,
1238
- typename T26, typename T27, typename T28, typename T29>
1239
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1240
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
1241
- internal::None, internal::None, internal::None, internal::None,
1242
- internal::None, internal::None, internal::None, internal::None,
1243
- internal::None, internal::None, internal::None, internal::None,
1244
- internal::None, internal::None, internal::None, internal::None,
1245
- internal::None, internal::None, internal::None, internal::None,
1246
- internal::None> {
1247
- typedef internal::Types29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1248
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1249
- T27, T28, T29> type;
1250
- };
1251
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1252
- typename T6, typename T7, typename T8, typename T9, typename T10,
1253
- typename T11, typename T12, typename T13, typename T14, typename T15,
1254
- typename T16, typename T17, typename T18, typename T19, typename T20,
1255
- typename T21, typename T22, typename T23, typename T24, typename T25,
1256
- typename T26, typename T27, typename T28, typename T29, typename T30>
1257
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1258
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1259
- internal::None, internal::None, internal::None, internal::None,
1260
- internal::None, internal::None, internal::None, internal::None,
1261
- internal::None, internal::None, internal::None, internal::None,
1262
- internal::None, internal::None, internal::None, internal::None,
1263
- internal::None, internal::None, internal::None, internal::None> {
1264
- typedef internal::Types30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1265
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1266
- T27, T28, T29, T30> type;
1267
- };
1268
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1269
- typename T6, typename T7, typename T8, typename T9, typename T10,
1270
- typename T11, typename T12, typename T13, typename T14, typename T15,
1271
- typename T16, typename T17, typename T18, typename T19, typename T20,
1272
- typename T21, typename T22, typename T23, typename T24, typename T25,
1273
- typename T26, typename T27, typename T28, typename T29, typename T30,
1274
- typename T31>
1275
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1276
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1277
- T31, internal::None, internal::None, internal::None, internal::None,
1278
- internal::None, internal::None, internal::None, internal::None,
1279
- internal::None, internal::None, internal::None, internal::None,
1280
- internal::None, internal::None, internal::None, internal::None,
1281
- internal::None, internal::None, internal::None> {
1282
- typedef internal::Types31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1283
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1284
- T27, T28, T29, T30, T31> type;
1285
- };
1286
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1287
- typename T6, typename T7, typename T8, typename T9, typename T10,
1288
- typename T11, typename T12, typename T13, typename T14, typename T15,
1289
- typename T16, typename T17, typename T18, typename T19, typename T20,
1290
- typename T21, typename T22, typename T23, typename T24, typename T25,
1291
- typename T26, typename T27, typename T28, typename T29, typename T30,
1292
- typename T31, typename T32>
1293
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1294
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1295
- T31, T32, internal::None, internal::None, internal::None, internal::None,
1296
- internal::None, internal::None, internal::None, internal::None,
1297
- internal::None, internal::None, internal::None, internal::None,
1298
- internal::None, internal::None, internal::None, internal::None,
1299
- internal::None, internal::None> {
1300
- typedef internal::Types32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1301
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1302
- T27, T28, T29, T30, T31, T32> type;
1303
- };
1304
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1305
- typename T6, typename T7, typename T8, typename T9, typename T10,
1306
- typename T11, typename T12, typename T13, typename T14, typename T15,
1307
- typename T16, typename T17, typename T18, typename T19, typename T20,
1308
- typename T21, typename T22, typename T23, typename T24, typename T25,
1309
- typename T26, typename T27, typename T28, typename T29, typename T30,
1310
- typename T31, typename T32, typename T33>
1311
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1312
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1313
- T31, T32, T33, internal::None, internal::None, internal::None,
1314
- internal::None, internal::None, internal::None, internal::None,
1315
- internal::None, internal::None, internal::None, internal::None,
1316
- internal::None, internal::None, internal::None, internal::None,
1317
- internal::None, internal::None> {
1318
- typedef internal::Types33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1319
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1320
- T27, T28, T29, T30, T31, T32, T33> type;
1321
- };
1322
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1323
- typename T6, typename T7, typename T8, typename T9, typename T10,
1324
- typename T11, typename T12, typename T13, typename T14, typename T15,
1325
- typename T16, typename T17, typename T18, typename T19, typename T20,
1326
- typename T21, typename T22, typename T23, typename T24, typename T25,
1327
- typename T26, typename T27, typename T28, typename T29, typename T30,
1328
- typename T31, typename T32, typename T33, typename T34>
1329
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1330
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1331
- T31, T32, T33, T34, internal::None, internal::None, internal::None,
1332
- internal::None, internal::None, internal::None, internal::None,
1333
- internal::None, internal::None, internal::None, internal::None,
1334
- internal::None, internal::None, internal::None, internal::None,
1335
- internal::None> {
1336
- typedef internal::Types34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1337
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1338
- T27, T28, T29, T30, T31, T32, T33, T34> type;
1339
- };
1340
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1341
- typename T6, typename T7, typename T8, typename T9, typename T10,
1342
- typename T11, typename T12, typename T13, typename T14, typename T15,
1343
- typename T16, typename T17, typename T18, typename T19, typename T20,
1344
- typename T21, typename T22, typename T23, typename T24, typename T25,
1345
- typename T26, typename T27, typename T28, typename T29, typename T30,
1346
- typename T31, typename T32, typename T33, typename T34, typename T35>
1347
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1348
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1349
- T31, T32, T33, T34, T35, internal::None, internal::None, internal::None,
1350
- internal::None, internal::None, internal::None, internal::None,
1351
- internal::None, internal::None, internal::None, internal::None,
1352
- internal::None, internal::None, internal::None, internal::None> {
1353
- typedef internal::Types35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1354
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1355
- T27, T28, T29, T30, T31, T32, T33, T34, T35> type;
1356
- };
1357
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1358
- typename T6, typename T7, typename T8, typename T9, typename T10,
1359
- typename T11, typename T12, typename T13, typename T14, typename T15,
1360
- typename T16, typename T17, typename T18, typename T19, typename T20,
1361
- typename T21, typename T22, typename T23, typename T24, typename T25,
1362
- typename T26, typename T27, typename T28, typename T29, typename T30,
1363
- typename T31, typename T32, typename T33, typename T34, typename T35,
1364
- typename T36>
1365
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1366
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1367
- T31, T32, T33, T34, T35, T36, internal::None, internal::None,
1368
- internal::None, internal::None, internal::None, internal::None,
1369
- internal::None, internal::None, internal::None, internal::None,
1370
- internal::None, internal::None, internal::None, internal::None> {
1371
- typedef internal::Types36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1372
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1373
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36> type;
1374
- };
1375
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1376
- typename T6, typename T7, typename T8, typename T9, typename T10,
1377
- typename T11, typename T12, typename T13, typename T14, typename T15,
1378
- typename T16, typename T17, typename T18, typename T19, typename T20,
1379
- typename T21, typename T22, typename T23, typename T24, typename T25,
1380
- typename T26, typename T27, typename T28, typename T29, typename T30,
1381
- typename T31, typename T32, typename T33, typename T34, typename T35,
1382
- typename T36, typename T37>
1383
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1384
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1385
- T31, T32, T33, T34, T35, T36, T37, internal::None, internal::None,
1386
- internal::None, internal::None, internal::None, internal::None,
1387
- internal::None, internal::None, internal::None, internal::None,
1388
- internal::None, internal::None, internal::None> {
1389
- typedef internal::Types37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1390
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1391
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37> type;
1392
- };
1393
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1394
- typename T6, typename T7, typename T8, typename T9, typename T10,
1395
- typename T11, typename T12, typename T13, typename T14, typename T15,
1396
- typename T16, typename T17, typename T18, typename T19, typename T20,
1397
- typename T21, typename T22, typename T23, typename T24, typename T25,
1398
- typename T26, typename T27, typename T28, typename T29, typename T30,
1399
- typename T31, typename T32, typename T33, typename T34, typename T35,
1400
- typename T36, typename T37, typename T38>
1401
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1402
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1403
- T31, T32, T33, T34, T35, T36, T37, T38, internal::None, internal::None,
1404
- internal::None, internal::None, internal::None, internal::None,
1405
- internal::None, internal::None, internal::None, internal::None,
1406
- internal::None, internal::None> {
1407
- typedef internal::Types38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1408
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1409
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> type;
1410
- };
1411
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1412
- typename T6, typename T7, typename T8, typename T9, typename T10,
1413
- typename T11, typename T12, typename T13, typename T14, typename T15,
1414
- typename T16, typename T17, typename T18, typename T19, typename T20,
1415
- typename T21, typename T22, typename T23, typename T24, typename T25,
1416
- typename T26, typename T27, typename T28, typename T29, typename T30,
1417
- typename T31, typename T32, typename T33, typename T34, typename T35,
1418
- typename T36, typename T37, typename T38, typename T39>
1419
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1420
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1421
- T31, T32, T33, T34, T35, T36, T37, T38, T39, internal::None,
1422
- internal::None, internal::None, internal::None, internal::None,
1423
- internal::None, internal::None, internal::None, internal::None,
1424
- internal::None, internal::None> {
1425
- typedef internal::Types39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1426
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1427
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> type;
1428
- };
1429
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1430
- typename T6, typename T7, typename T8, typename T9, typename T10,
1431
- typename T11, typename T12, typename T13, typename T14, typename T15,
1432
- typename T16, typename T17, typename T18, typename T19, typename T20,
1433
- typename T21, typename T22, typename T23, typename T24, typename T25,
1434
- typename T26, typename T27, typename T28, typename T29, typename T30,
1435
- typename T31, typename T32, typename T33, typename T34, typename T35,
1436
- typename T36, typename T37, typename T38, typename T39, typename T40>
1437
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1438
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1439
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, internal::None,
1440
- internal::None, internal::None, internal::None, internal::None,
1441
- internal::None, internal::None, internal::None, internal::None,
1442
- internal::None> {
1443
- typedef internal::Types40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1444
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1445
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39,
1446
- T40> type;
1447
- };
1448
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1449
- typename T6, typename T7, typename T8, typename T9, typename T10,
1450
- typename T11, typename T12, typename T13, typename T14, typename T15,
1451
- typename T16, typename T17, typename T18, typename T19, typename T20,
1452
- typename T21, typename T22, typename T23, typename T24, typename T25,
1453
- typename T26, typename T27, typename T28, typename T29, typename T30,
1454
- typename T31, typename T32, typename T33, typename T34, typename T35,
1455
- typename T36, typename T37, typename T38, typename T39, typename T40,
1456
- typename T41>
1457
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1458
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1459
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, internal::None,
1460
- internal::None, internal::None, internal::None, internal::None,
1461
- internal::None, internal::None, internal::None, internal::None> {
1462
- typedef internal::Types41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1463
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1464
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1465
- T41> type;
1466
- };
1467
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1468
- typename T6, typename T7, typename T8, typename T9, typename T10,
1469
- typename T11, typename T12, typename T13, typename T14, typename T15,
1470
- typename T16, typename T17, typename T18, typename T19, typename T20,
1471
- typename T21, typename T22, typename T23, typename T24, typename T25,
1472
- typename T26, typename T27, typename T28, typename T29, typename T30,
1473
- typename T31, typename T32, typename T33, typename T34, typename T35,
1474
- typename T36, typename T37, typename T38, typename T39, typename T40,
1475
- typename T41, typename T42>
1476
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1477
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1478
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, internal::None,
1479
- internal::None, internal::None, internal::None, internal::None,
1480
- internal::None, internal::None, internal::None> {
1481
- typedef internal::Types42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1482
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1483
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1484
- T41, T42> type;
1485
- };
1486
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1487
- typename T6, typename T7, typename T8, typename T9, typename T10,
1488
- typename T11, typename T12, typename T13, typename T14, typename T15,
1489
- typename T16, typename T17, typename T18, typename T19, typename T20,
1490
- typename T21, typename T22, typename T23, typename T24, typename T25,
1491
- typename T26, typename T27, typename T28, typename T29, typename T30,
1492
- typename T31, typename T32, typename T33, typename T34, typename T35,
1493
- typename T36, typename T37, typename T38, typename T39, typename T40,
1494
- typename T41, typename T42, typename T43>
1495
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1496
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1497
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
1498
- internal::None, internal::None, internal::None, internal::None,
1499
- internal::None, internal::None, internal::None> {
1500
- typedef internal::Types43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1501
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1502
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1503
- T41, T42, T43> type;
1504
- };
1505
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1506
- typename T6, typename T7, typename T8, typename T9, typename T10,
1507
- typename T11, typename T12, typename T13, typename T14, typename T15,
1508
- typename T16, typename T17, typename T18, typename T19, typename T20,
1509
- typename T21, typename T22, typename T23, typename T24, typename T25,
1510
- typename T26, typename T27, typename T28, typename T29, typename T30,
1511
- typename T31, typename T32, typename T33, typename T34, typename T35,
1512
- typename T36, typename T37, typename T38, typename T39, typename T40,
1513
- typename T41, typename T42, typename T43, typename T44>
1514
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1515
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1516
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
1517
- internal::None, internal::None, internal::None, internal::None,
1518
- internal::None, internal::None> {
1519
- typedef internal::Types44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1520
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1521
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1522
- T41, T42, T43, T44> type;
1523
- };
1524
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1525
- typename T6, typename T7, typename T8, typename T9, typename T10,
1526
- typename T11, typename T12, typename T13, typename T14, typename T15,
1527
- typename T16, typename T17, typename T18, typename T19, typename T20,
1528
- typename T21, typename T22, typename T23, typename T24, typename T25,
1529
- typename T26, typename T27, typename T28, typename T29, typename T30,
1530
- typename T31, typename T32, typename T33, typename T34, typename T35,
1531
- typename T36, typename T37, typename T38, typename T39, typename T40,
1532
- typename T41, typename T42, typename T43, typename T44, typename T45>
1533
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1534
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1535
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1536
- internal::None, internal::None, internal::None, internal::None,
1537
- internal::None> {
1538
- typedef internal::Types45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1539
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1540
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1541
- T41, T42, T43, T44, T45> type;
1542
- };
1543
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1544
- typename T6, typename T7, typename T8, typename T9, typename T10,
1545
- typename T11, typename T12, typename T13, typename T14, typename T15,
1546
- typename T16, typename T17, typename T18, typename T19, typename T20,
1547
- typename T21, typename T22, typename T23, typename T24, typename T25,
1548
- typename T26, typename T27, typename T28, typename T29, typename T30,
1549
- typename T31, typename T32, typename T33, typename T34, typename T35,
1550
- typename T36, typename T37, typename T38, typename T39, typename T40,
1551
- typename T41, typename T42, typename T43, typename T44, typename T45,
1552
- typename T46>
1553
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1554
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1555
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1556
- T46, internal::None, internal::None, internal::None, internal::None> {
1557
- typedef internal::Types46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1558
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1559
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1560
- T41, T42, T43, T44, T45, T46> type;
1561
- };
1562
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1563
- typename T6, typename T7, typename T8, typename T9, typename T10,
1564
- typename T11, typename T12, typename T13, typename T14, typename T15,
1565
- typename T16, typename T17, typename T18, typename T19, typename T20,
1566
- typename T21, typename T22, typename T23, typename T24, typename T25,
1567
- typename T26, typename T27, typename T28, typename T29, typename T30,
1568
- typename T31, typename T32, typename T33, typename T34, typename T35,
1569
- typename T36, typename T37, typename T38, typename T39, typename T40,
1570
- typename T41, typename T42, typename T43, typename T44, typename T45,
1571
- typename T46, typename T47>
1572
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1573
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1574
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1575
- T46, T47, internal::None, internal::None, internal::None> {
1576
- typedef internal::Types47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1577
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1578
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1579
- T41, T42, T43, T44, T45, T46, T47> type;
1580
- };
1581
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1582
- typename T6, typename T7, typename T8, typename T9, typename T10,
1583
- typename T11, typename T12, typename T13, typename T14, typename T15,
1584
- typename T16, typename T17, typename T18, typename T19, typename T20,
1585
- typename T21, typename T22, typename T23, typename T24, typename T25,
1586
- typename T26, typename T27, typename T28, typename T29, typename T30,
1587
- typename T31, typename T32, typename T33, typename T34, typename T35,
1588
- typename T36, typename T37, typename T38, typename T39, typename T40,
1589
- typename T41, typename T42, typename T43, typename T44, typename T45,
1590
- typename T46, typename T47, typename T48>
1591
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1592
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1593
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1594
- T46, T47, T48, internal::None, internal::None> {
1595
- typedef internal::Types48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1596
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1597
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1598
- T41, T42, T43, T44, T45, T46, T47, T48> type;
1599
- };
1600
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
1601
- typename T6, typename T7, typename T8, typename T9, typename T10,
1602
- typename T11, typename T12, typename T13, typename T14, typename T15,
1603
- typename T16, typename T17, typename T18, typename T19, typename T20,
1604
- typename T21, typename T22, typename T23, typename T24, typename T25,
1605
- typename T26, typename T27, typename T28, typename T29, typename T30,
1606
- typename T31, typename T32, typename T33, typename T34, typename T35,
1607
- typename T36, typename T37, typename T38, typename T39, typename T40,
1608
- typename T41, typename T42, typename T43, typename T44, typename T45,
1609
- typename T46, typename T47, typename T48, typename T49>
1610
- struct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15,
1611
- T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30,
1612
- T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45,
1613
- T46, T47, T48, T49, internal::None> {
1614
- typedef internal::Types49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
1615
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
1616
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
1617
- T41, T42, T43, T44, T45, T46, T47, T48, T49> type;
1618
- };
1619
-
1620
- namespace internal {
1621
-
1622
- # define GTEST_TEMPLATE_ template <typename T> class
1623
-
1624
- // The template "selector" struct TemplateSel<Tmpl> is used to
1625
- // represent Tmpl, which must be a class template with one type
1626
- // parameter, as a type. TemplateSel<Tmpl>::Bind<T>::type is defined
1627
- // as the type Tmpl<T>. This allows us to actually instantiate the
1628
- // template "selected" by TemplateSel<Tmpl>.
1629
- //
1630
- // This trick is necessary for simulating typedef for class templates,
1631
- // which C++ doesn't support directly.
1632
- template <GTEST_TEMPLATE_ Tmpl>
1633
- struct TemplateSel {
1634
- template <typename T>
1635
- struct Bind {
1636
- typedef Tmpl<T> type;
1637
- };
1638
- };
1639
-
1640
- # define GTEST_BIND_(TmplSel, T) \
1641
- TmplSel::template Bind<T>::type
1642
-
1643
- // A unique struct template used as the default value for the
1644
- // arguments of class template Templates. This allows us to simulate
1645
- // variadic templates (e.g. Templates<int>, Templates<int, double>,
1646
- // and etc), which C++ doesn't support directly.
1647
- template <typename T>
1648
- struct NoneT {};
1649
-
1650
- // The following family of struct and struct templates are used to
1651
- // represent template lists. In particular, TemplatesN<T1, T2, ...,
1652
- // TN> represents a list of N templates (T1, T2, ..., and TN). Except
1653
- // for Templates0, every struct in the family has two member types:
1654
- // Head for the selector of the first template in the list, and Tail
1655
- // for the rest of the list.
1656
-
1657
- // The empty template list.
1658
- struct Templates0 {};
1659
-
1660
- // Template lists of length 1, 2, 3, and so on.
1661
-
1662
- template <GTEST_TEMPLATE_ T1>
1663
- struct Templates1 {
1664
- typedef TemplateSel<T1> Head;
1665
- typedef Templates0 Tail;
1666
- };
1667
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2>
1668
- struct Templates2 {
1669
- typedef TemplateSel<T1> Head;
1670
- typedef Templates1<T2> Tail;
1671
- };
1672
-
1673
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3>
1674
- struct Templates3 {
1675
- typedef TemplateSel<T1> Head;
1676
- typedef Templates2<T2, T3> Tail;
1677
- };
1678
-
1679
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1680
- GTEST_TEMPLATE_ T4>
1681
- struct Templates4 {
1682
- typedef TemplateSel<T1> Head;
1683
- typedef Templates3<T2, T3, T4> Tail;
1684
- };
1685
-
1686
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1687
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5>
1688
- struct Templates5 {
1689
- typedef TemplateSel<T1> Head;
1690
- typedef Templates4<T2, T3, T4, T5> Tail;
1691
- };
1692
-
1693
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1694
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6>
1695
- struct Templates6 {
1696
- typedef TemplateSel<T1> Head;
1697
- typedef Templates5<T2, T3, T4, T5, T6> Tail;
1698
- };
1699
-
1700
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1701
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1702
- GTEST_TEMPLATE_ T7>
1703
- struct Templates7 {
1704
- typedef TemplateSel<T1> Head;
1705
- typedef Templates6<T2, T3, T4, T5, T6, T7> Tail;
1706
- };
1707
-
1708
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1709
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1710
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8>
1711
- struct Templates8 {
1712
- typedef TemplateSel<T1> Head;
1713
- typedef Templates7<T2, T3, T4, T5, T6, T7, T8> Tail;
1714
- };
1715
-
1716
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1717
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1718
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9>
1719
- struct Templates9 {
1720
- typedef TemplateSel<T1> Head;
1721
- typedef Templates8<T2, T3, T4, T5, T6, T7, T8, T9> Tail;
1722
- };
1723
-
1724
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1725
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1726
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1727
- GTEST_TEMPLATE_ T10>
1728
- struct Templates10 {
1729
- typedef TemplateSel<T1> Head;
1730
- typedef Templates9<T2, T3, T4, T5, T6, T7, T8, T9, T10> Tail;
1731
- };
1732
-
1733
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1734
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1735
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1736
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11>
1737
- struct Templates11 {
1738
- typedef TemplateSel<T1> Head;
1739
- typedef Templates10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tail;
1740
- };
1741
-
1742
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1743
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1744
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1745
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12>
1746
- struct Templates12 {
1747
- typedef TemplateSel<T1> Head;
1748
- typedef Templates11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tail;
1749
- };
1750
-
1751
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1752
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1753
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1754
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1755
- GTEST_TEMPLATE_ T13>
1756
- struct Templates13 {
1757
- typedef TemplateSel<T1> Head;
1758
- typedef Templates12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tail;
1759
- };
1760
-
1761
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1762
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1763
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1764
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1765
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14>
1766
- struct Templates14 {
1767
- typedef TemplateSel<T1> Head;
1768
- typedef Templates13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
1769
- T14> Tail;
1770
- };
1771
-
1772
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1773
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1774
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1775
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1776
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15>
1777
- struct Templates15 {
1778
- typedef TemplateSel<T1> Head;
1779
- typedef Templates14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1780
- T15> Tail;
1781
- };
1782
-
1783
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1784
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1785
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1786
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1787
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1788
- GTEST_TEMPLATE_ T16>
1789
- struct Templates16 {
1790
- typedef TemplateSel<T1> Head;
1791
- typedef Templates15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1792
- T15, T16> Tail;
1793
- };
1794
-
1795
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1796
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1797
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1798
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1799
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1800
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17>
1801
- struct Templates17 {
1802
- typedef TemplateSel<T1> Head;
1803
- typedef Templates16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1804
- T15, T16, T17> Tail;
1805
- };
1806
-
1807
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1808
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1809
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1810
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1811
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1812
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18>
1813
- struct Templates18 {
1814
- typedef TemplateSel<T1> Head;
1815
- typedef Templates17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1816
- T15, T16, T17, T18> Tail;
1817
- };
1818
-
1819
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1820
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1821
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1822
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1823
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1824
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1825
- GTEST_TEMPLATE_ T19>
1826
- struct Templates19 {
1827
- typedef TemplateSel<T1> Head;
1828
- typedef Templates18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1829
- T15, T16, T17, T18, T19> Tail;
1830
- };
1831
-
1832
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1833
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1834
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1835
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1836
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1837
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1838
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20>
1839
- struct Templates20 {
1840
- typedef TemplateSel<T1> Head;
1841
- typedef Templates19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1842
- T15, T16, T17, T18, T19, T20> Tail;
1843
- };
1844
-
1845
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1846
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1847
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1848
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1849
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1850
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1851
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21>
1852
- struct Templates21 {
1853
- typedef TemplateSel<T1> Head;
1854
- typedef Templates20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1855
- T15, T16, T17, T18, T19, T20, T21> Tail;
1856
- };
1857
-
1858
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1859
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1860
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1861
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1862
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1863
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1864
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1865
- GTEST_TEMPLATE_ T22>
1866
- struct Templates22 {
1867
- typedef TemplateSel<T1> Head;
1868
- typedef Templates21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1869
- T15, T16, T17, T18, T19, T20, T21, T22> Tail;
1870
- };
1871
-
1872
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1873
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1874
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1875
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1876
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1877
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1878
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1879
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23>
1880
- struct Templates23 {
1881
- typedef TemplateSel<T1> Head;
1882
- typedef Templates22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1883
- T15, T16, T17, T18, T19, T20, T21, T22, T23> Tail;
1884
- };
1885
-
1886
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1887
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1888
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1889
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1890
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1891
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1892
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1893
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24>
1894
- struct Templates24 {
1895
- typedef TemplateSel<T1> Head;
1896
- typedef Templates23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1897
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> Tail;
1898
- };
1899
-
1900
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1901
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1902
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1903
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1904
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1905
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1906
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1907
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1908
- GTEST_TEMPLATE_ T25>
1909
- struct Templates25 {
1910
- typedef TemplateSel<T1> Head;
1911
- typedef Templates24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1912
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Tail;
1913
- };
1914
-
1915
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1916
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1917
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1918
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1919
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1920
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1921
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1922
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1923
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26>
1924
- struct Templates26 {
1925
- typedef TemplateSel<T1> Head;
1926
- typedef Templates25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1927
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> Tail;
1928
- };
1929
-
1930
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1931
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1932
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1933
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1934
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1935
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1936
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1937
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1938
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27>
1939
- struct Templates27 {
1940
- typedef TemplateSel<T1> Head;
1941
- typedef Templates26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1942
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> Tail;
1943
- };
1944
-
1945
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1946
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1947
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1948
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1949
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1950
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1951
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1952
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1953
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1954
- GTEST_TEMPLATE_ T28>
1955
- struct Templates28 {
1956
- typedef TemplateSel<T1> Head;
1957
- typedef Templates27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1958
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
1959
- T28> Tail;
1960
- };
1961
-
1962
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1963
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1964
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1965
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1966
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1967
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1968
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1969
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1970
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1971
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29>
1972
- struct Templates29 {
1973
- typedef TemplateSel<T1> Head;
1974
- typedef Templates28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1975
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1976
- T29> Tail;
1977
- };
1978
-
1979
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1980
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1981
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1982
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
1983
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
1984
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
1985
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
1986
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
1987
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
1988
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30>
1989
- struct Templates30 {
1990
- typedef TemplateSel<T1> Head;
1991
- typedef Templates29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
1992
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
1993
- T29, T30> Tail;
1994
- };
1995
-
1996
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
1997
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
1998
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
1999
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2000
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2001
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2002
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2003
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2004
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2005
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2006
- GTEST_TEMPLATE_ T31>
2007
- struct Templates31 {
2008
- typedef TemplateSel<T1> Head;
2009
- typedef Templates30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2010
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2011
- T29, T30, T31> Tail;
2012
- };
2013
-
2014
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2015
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2016
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2017
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2018
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2019
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2020
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2021
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2022
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2023
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2024
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32>
2025
- struct Templates32 {
2026
- typedef TemplateSel<T1> Head;
2027
- typedef Templates31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2028
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2029
- T29, T30, T31, T32> Tail;
2030
- };
2031
-
2032
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2033
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2034
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2035
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2036
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2037
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2038
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2039
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2040
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2041
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2042
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33>
2043
- struct Templates33 {
2044
- typedef TemplateSel<T1> Head;
2045
- typedef Templates32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2046
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2047
- T29, T30, T31, T32, T33> Tail;
2048
- };
2049
-
2050
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2051
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2052
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2053
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2054
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2055
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2056
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2057
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2058
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2059
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2060
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2061
- GTEST_TEMPLATE_ T34>
2062
- struct Templates34 {
2063
- typedef TemplateSel<T1> Head;
2064
- typedef Templates33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2065
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2066
- T29, T30, T31, T32, T33, T34> Tail;
2067
- };
2068
-
2069
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2070
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2071
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2072
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2073
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2074
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2075
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2076
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2077
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2078
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2079
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2080
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35>
2081
- struct Templates35 {
2082
- typedef TemplateSel<T1> Head;
2083
- typedef Templates34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2084
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2085
- T29, T30, T31, T32, T33, T34, T35> Tail;
2086
- };
2087
-
2088
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2089
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2090
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2091
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2092
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2093
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2094
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2095
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2096
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2097
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2098
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2099
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36>
2100
- struct Templates36 {
2101
- typedef TemplateSel<T1> Head;
2102
- typedef Templates35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2103
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2104
- T29, T30, T31, T32, T33, T34, T35, T36> Tail;
2105
- };
2106
-
2107
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2108
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2109
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2110
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2111
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2112
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2113
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2114
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2115
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2116
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2117
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2118
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2119
- GTEST_TEMPLATE_ T37>
2120
- struct Templates37 {
2121
- typedef TemplateSel<T1> Head;
2122
- typedef Templates36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2123
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2124
- T29, T30, T31, T32, T33, T34, T35, T36, T37> Tail;
2125
- };
2126
-
2127
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2128
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2129
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2130
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2131
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2132
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2133
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2134
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2135
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2136
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2137
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2138
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2139
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38>
2140
- struct Templates38 {
2141
- typedef TemplateSel<T1> Head;
2142
- typedef Templates37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2143
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2144
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> Tail;
2145
- };
2146
-
2147
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2148
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2149
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2150
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2151
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2152
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2153
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2154
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2155
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2156
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2157
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2158
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2159
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39>
2160
- struct Templates39 {
2161
- typedef TemplateSel<T1> Head;
2162
- typedef Templates38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2163
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2164
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> Tail;
2165
- };
2166
-
2167
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2168
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2169
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2170
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2171
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2172
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2173
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2174
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2175
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2176
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2177
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2178
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2179
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2180
- GTEST_TEMPLATE_ T40>
2181
- struct Templates40 {
2182
- typedef TemplateSel<T1> Head;
2183
- typedef Templates39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2184
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2185
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> Tail;
2186
- };
2187
-
2188
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2189
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2190
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2191
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2192
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2193
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2194
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2195
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2196
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2197
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2198
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2199
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2200
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2201
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41>
2202
- struct Templates41 {
2203
- typedef TemplateSel<T1> Head;
2204
- typedef Templates40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2205
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2206
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41> Tail;
2207
- };
2208
-
2209
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2210
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2211
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2212
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2213
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2214
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2215
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2216
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2217
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2218
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2219
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2220
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2221
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2222
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42>
2223
- struct Templates42 {
2224
- typedef TemplateSel<T1> Head;
2225
- typedef Templates41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2226
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2227
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
2228
- T42> Tail;
2229
- };
2230
-
2231
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2232
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2233
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2234
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2235
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2236
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2237
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2238
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2239
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2240
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2241
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2242
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2243
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2244
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2245
- GTEST_TEMPLATE_ T43>
2246
- struct Templates43 {
2247
- typedef TemplateSel<T1> Head;
2248
- typedef Templates42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2249
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2250
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2251
- T43> Tail;
2252
- };
2253
-
2254
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2255
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2256
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2257
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2258
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2259
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2260
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2261
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2262
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2263
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2264
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2265
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2266
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2267
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2268
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44>
2269
- struct Templates44 {
2270
- typedef TemplateSel<T1> Head;
2271
- typedef Templates43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2272
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2273
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2274
- T43, T44> Tail;
2275
- };
2276
-
2277
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2278
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2279
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2280
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2281
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2282
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2283
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2284
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2285
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2286
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2287
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2288
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2289
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2290
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2291
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45>
2292
- struct Templates45 {
2293
- typedef TemplateSel<T1> Head;
2294
- typedef Templates44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2295
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2296
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2297
- T43, T44, T45> Tail;
2298
- };
2299
-
2300
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2301
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2302
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2303
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2304
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2305
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2306
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2307
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2308
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2309
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2310
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2311
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2312
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2313
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2314
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2315
- GTEST_TEMPLATE_ T46>
2316
- struct Templates46 {
2317
- typedef TemplateSel<T1> Head;
2318
- typedef Templates45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2319
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2320
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2321
- T43, T44, T45, T46> Tail;
2322
- };
2323
-
2324
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2325
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2326
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2327
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2328
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2329
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2330
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2331
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2332
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2333
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2334
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2335
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2336
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2337
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2338
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2339
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47>
2340
- struct Templates47 {
2341
- typedef TemplateSel<T1> Head;
2342
- typedef Templates46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2343
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2344
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2345
- T43, T44, T45, T46, T47> Tail;
2346
- };
2347
-
2348
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2349
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2350
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2351
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2352
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2353
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2354
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2355
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2356
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2357
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2358
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2359
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2360
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2361
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2362
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2363
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48>
2364
- struct Templates48 {
2365
- typedef TemplateSel<T1> Head;
2366
- typedef Templates47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2367
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2368
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2369
- T43, T44, T45, T46, T47, T48> Tail;
2370
- };
2371
-
2372
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2373
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2374
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2375
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2376
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2377
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2378
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2379
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2380
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2381
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2382
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2383
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2384
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2385
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2386
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2387
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
2388
- GTEST_TEMPLATE_ T49>
2389
- struct Templates49 {
2390
- typedef TemplateSel<T1> Head;
2391
- typedef Templates48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2392
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2393
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2394
- T43, T44, T45, T46, T47, T48, T49> Tail;
2395
- };
2396
-
2397
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2398
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2399
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2400
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2401
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2402
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2403
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2404
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2405
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2406
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2407
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2408
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
2409
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
2410
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
2411
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
2412
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
2413
- GTEST_TEMPLATE_ T49, GTEST_TEMPLATE_ T50>
2414
- struct Templates50 {
2415
- typedef TemplateSel<T1> Head;
2416
- typedef Templates49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2417
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2418
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42,
2419
- T43, T44, T45, T46, T47, T48, T49, T50> Tail;
2420
- };
2421
-
2422
-
2423
- // We don't want to require the users to write TemplatesN<...> directly,
2424
- // as that would require them to count the length. Templates<...> is much
2425
- // easier to write, but generates horrible messages when there is a
2426
- // compiler error, as gcc insists on printing out each template
2427
- // argument, even if it has the default value (this means Templates<list>
2428
- // will appear as Templates<list, NoneT, NoneT, ..., NoneT> in the compiler
2429
- // errors).
2430
- //
2431
- // Our solution is to combine the best part of the two approaches: a
2432
- // user would write Templates<T1, ..., TN>, and Google Test will translate
2433
- // that to TemplatesN<T1, ..., TN> internally to make error messages
2434
- // readable. The translation is done by the 'type' member of the
2435
- // Templates template.
2436
- template <GTEST_TEMPLATE_ T1 = NoneT, GTEST_TEMPLATE_ T2 = NoneT,
2437
- GTEST_TEMPLATE_ T3 = NoneT, GTEST_TEMPLATE_ T4 = NoneT,
2438
- GTEST_TEMPLATE_ T5 = NoneT, GTEST_TEMPLATE_ T6 = NoneT,
2439
- GTEST_TEMPLATE_ T7 = NoneT, GTEST_TEMPLATE_ T8 = NoneT,
2440
- GTEST_TEMPLATE_ T9 = NoneT, GTEST_TEMPLATE_ T10 = NoneT,
2441
- GTEST_TEMPLATE_ T11 = NoneT, GTEST_TEMPLATE_ T12 = NoneT,
2442
- GTEST_TEMPLATE_ T13 = NoneT, GTEST_TEMPLATE_ T14 = NoneT,
2443
- GTEST_TEMPLATE_ T15 = NoneT, GTEST_TEMPLATE_ T16 = NoneT,
2444
- GTEST_TEMPLATE_ T17 = NoneT, GTEST_TEMPLATE_ T18 = NoneT,
2445
- GTEST_TEMPLATE_ T19 = NoneT, GTEST_TEMPLATE_ T20 = NoneT,
2446
- GTEST_TEMPLATE_ T21 = NoneT, GTEST_TEMPLATE_ T22 = NoneT,
2447
- GTEST_TEMPLATE_ T23 = NoneT, GTEST_TEMPLATE_ T24 = NoneT,
2448
- GTEST_TEMPLATE_ T25 = NoneT, GTEST_TEMPLATE_ T26 = NoneT,
2449
- GTEST_TEMPLATE_ T27 = NoneT, GTEST_TEMPLATE_ T28 = NoneT,
2450
- GTEST_TEMPLATE_ T29 = NoneT, GTEST_TEMPLATE_ T30 = NoneT,
2451
- GTEST_TEMPLATE_ T31 = NoneT, GTEST_TEMPLATE_ T32 = NoneT,
2452
- GTEST_TEMPLATE_ T33 = NoneT, GTEST_TEMPLATE_ T34 = NoneT,
2453
- GTEST_TEMPLATE_ T35 = NoneT, GTEST_TEMPLATE_ T36 = NoneT,
2454
- GTEST_TEMPLATE_ T37 = NoneT, GTEST_TEMPLATE_ T38 = NoneT,
2455
- GTEST_TEMPLATE_ T39 = NoneT, GTEST_TEMPLATE_ T40 = NoneT,
2456
- GTEST_TEMPLATE_ T41 = NoneT, GTEST_TEMPLATE_ T42 = NoneT,
2457
- GTEST_TEMPLATE_ T43 = NoneT, GTEST_TEMPLATE_ T44 = NoneT,
2458
- GTEST_TEMPLATE_ T45 = NoneT, GTEST_TEMPLATE_ T46 = NoneT,
2459
- GTEST_TEMPLATE_ T47 = NoneT, GTEST_TEMPLATE_ T48 = NoneT,
2460
- GTEST_TEMPLATE_ T49 = NoneT, GTEST_TEMPLATE_ T50 = NoneT>
2461
- struct Templates {
2462
- typedef Templates50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2463
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2464
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
2465
- T42, T43, T44, T45, T46, T47, T48, T49, T50> type;
2466
- };
2467
-
2468
- template <>
2469
- struct Templates<NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2470
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2471
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2472
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2473
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2474
- NoneT> {
2475
- typedef Templates0 type;
2476
- };
2477
- template <GTEST_TEMPLATE_ T1>
2478
- struct Templates<T1, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2479
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2480
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2481
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2482
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2483
- NoneT> {
2484
- typedef Templates1<T1> type;
2485
- };
2486
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2>
2487
- struct Templates<T1, T2, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2488
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2489
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2490
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2491
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2492
- NoneT> {
2493
- typedef Templates2<T1, T2> type;
2494
- };
2495
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3>
2496
- struct Templates<T1, T2, T3, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2497
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2498
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2499
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2500
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2501
- typedef Templates3<T1, T2, T3> type;
2502
- };
2503
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2504
- GTEST_TEMPLATE_ T4>
2505
- struct Templates<T1, T2, T3, T4, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2506
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2507
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2508
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2509
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2510
- typedef Templates4<T1, T2, T3, T4> type;
2511
- };
2512
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2513
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5>
2514
- struct Templates<T1, T2, T3, T4, T5, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2515
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2516
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2517
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2518
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2519
- typedef Templates5<T1, T2, T3, T4, T5> type;
2520
- };
2521
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2522
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6>
2523
- struct Templates<T1, T2, T3, T4, T5, T6, NoneT, NoneT, NoneT, NoneT, NoneT,
2524
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2525
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2526
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2527
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2528
- typedef Templates6<T1, T2, T3, T4, T5, T6> type;
2529
- };
2530
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2531
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2532
- GTEST_TEMPLATE_ T7>
2533
- struct Templates<T1, T2, T3, T4, T5, T6, T7, NoneT, NoneT, NoneT, NoneT, NoneT,
2534
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2535
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2536
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2537
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2538
- typedef Templates7<T1, T2, T3, T4, T5, T6, T7> type;
2539
- };
2540
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2541
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2542
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8>
2543
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, NoneT, NoneT, NoneT, NoneT,
2544
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2545
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2546
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2547
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2548
- typedef Templates8<T1, T2, T3, T4, T5, T6, T7, T8> type;
2549
- };
2550
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2551
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2552
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9>
2553
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, NoneT, NoneT, NoneT,
2554
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2555
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2556
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2557
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2558
- typedef Templates9<T1, T2, T3, T4, T5, T6, T7, T8, T9> type;
2559
- };
2560
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2561
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2562
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2563
- GTEST_TEMPLATE_ T10>
2564
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NoneT, NoneT, NoneT,
2565
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2566
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2567
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2568
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2569
- typedef Templates10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> type;
2570
- };
2571
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2572
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2573
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2574
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11>
2575
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NoneT, NoneT,
2576
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2577
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2578
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2579
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2580
- typedef Templates11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> type;
2581
- };
2582
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2583
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2584
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2585
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12>
2586
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NoneT,
2587
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2588
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2589
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2590
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2591
- typedef Templates12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> type;
2592
- };
2593
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2594
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2595
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2596
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2597
- GTEST_TEMPLATE_ T13>
2598
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NoneT,
2599
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2600
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2601
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2602
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2603
- typedef Templates13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
2604
- T13> type;
2605
- };
2606
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2607
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2608
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2609
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2610
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14>
2611
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2612
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2613
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2614
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2615
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2616
- typedef Templates14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2617
- T14> type;
2618
- };
2619
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2620
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2621
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2622
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2623
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15>
2624
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2625
- T15, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2626
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2627
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2628
- NoneT, NoneT, NoneT, NoneT, NoneT> {
2629
- typedef Templates15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2630
- T14, T15> type;
2631
- };
2632
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2633
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2634
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2635
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2636
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2637
- GTEST_TEMPLATE_ T16>
2638
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2639
- T15, T16, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2640
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2641
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2642
- NoneT, NoneT, NoneT, NoneT, NoneT> {
2643
- typedef Templates16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2644
- T14, T15, T16> type;
2645
- };
2646
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2647
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2648
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2649
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2650
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2651
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17>
2652
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2653
- T15, T16, T17, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2654
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2655
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2656
- NoneT, NoneT, NoneT, NoneT, NoneT> {
2657
- typedef Templates17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2658
- T14, T15, T16, T17> type;
2659
- };
2660
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2661
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2662
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2663
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2664
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2665
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18>
2666
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2667
- T15, T16, T17, T18, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2668
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2669
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2670
- NoneT, NoneT, NoneT, NoneT> {
2671
- typedef Templates18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2672
- T14, T15, T16, T17, T18> type;
2673
- };
2674
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2675
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2676
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2677
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2678
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2679
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2680
- GTEST_TEMPLATE_ T19>
2681
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2682
- T15, T16, T17, T18, T19, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2683
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2684
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2685
- NoneT, NoneT, NoneT, NoneT> {
2686
- typedef Templates19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2687
- T14, T15, T16, T17, T18, T19> type;
2688
- };
2689
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2690
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2691
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2692
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2693
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2694
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2695
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20>
2696
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2697
- T15, T16, T17, T18, T19, T20, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2698
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2699
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2700
- NoneT, NoneT, NoneT, NoneT> {
2701
- typedef Templates20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2702
- T14, T15, T16, T17, T18, T19, T20> type;
2703
- };
2704
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2705
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2706
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2707
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2708
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2709
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2710
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21>
2711
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2712
- T15, T16, T17, T18, T19, T20, T21, NoneT, NoneT, NoneT, NoneT, NoneT,
2713
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2714
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2715
- NoneT, NoneT, NoneT, NoneT> {
2716
- typedef Templates21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2717
- T14, T15, T16, T17, T18, T19, T20, T21> type;
2718
- };
2719
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2720
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2721
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2722
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2723
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2724
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2725
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2726
- GTEST_TEMPLATE_ T22>
2727
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2728
- T15, T16, T17, T18, T19, T20, T21, T22, NoneT, NoneT, NoneT, NoneT, NoneT,
2729
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2730
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2731
- NoneT, NoneT, NoneT> {
2732
- typedef Templates22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2733
- T14, T15, T16, T17, T18, T19, T20, T21, T22> type;
2734
- };
2735
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2736
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2737
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2738
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2739
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2740
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2741
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2742
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23>
2743
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2744
- T15, T16, T17, T18, T19, T20, T21, T22, T23, NoneT, NoneT, NoneT, NoneT,
2745
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2746
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2747
- NoneT, NoneT, NoneT> {
2748
- typedef Templates23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2749
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> type;
2750
- };
2751
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2752
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2753
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2754
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2755
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2756
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2757
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2758
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24>
2759
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2760
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NoneT, NoneT, NoneT,
2761
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2762
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2763
- NoneT, NoneT, NoneT> {
2764
- typedef Templates24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2765
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> type;
2766
- };
2767
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2768
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2769
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2770
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2771
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2772
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2773
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2774
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2775
- GTEST_TEMPLATE_ T25>
2776
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2777
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NoneT, NoneT, NoneT,
2778
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2779
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2780
- NoneT, NoneT> {
2781
- typedef Templates25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2782
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> type;
2783
- };
2784
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2785
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2786
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2787
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2788
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2789
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2790
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2791
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2792
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26>
2793
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2794
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NoneT, NoneT,
2795
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2796
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2797
- NoneT, NoneT> {
2798
- typedef Templates26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2799
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> type;
2800
- };
2801
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2802
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2803
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2804
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2805
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2806
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2807
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2808
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2809
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27>
2810
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2811
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NoneT,
2812
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2813
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2814
- NoneT, NoneT> {
2815
- typedef Templates27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2816
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
2817
- T27> type;
2818
- };
2819
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2820
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2821
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2822
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2823
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2824
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2825
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2826
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2827
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2828
- GTEST_TEMPLATE_ T28>
2829
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2830
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
2831
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2832
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2833
- NoneT, NoneT> {
2834
- typedef Templates28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2835
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2836
- T28> type;
2837
- };
2838
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2839
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2840
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2841
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2842
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2843
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2844
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2845
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2846
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2847
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29>
2848
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2849
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2850
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2851
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2852
- NoneT> {
2853
- typedef Templates29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2854
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2855
- T28, T29> type;
2856
- };
2857
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2858
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2859
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2860
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2861
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2862
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2863
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2864
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2865
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2866
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30>
2867
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2868
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2869
- T30, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2870
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2871
- typedef Templates30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2872
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2873
- T28, T29, T30> type;
2874
- };
2875
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2876
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2877
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2878
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2879
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2880
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2881
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2882
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2883
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2884
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2885
- GTEST_TEMPLATE_ T31>
2886
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2887
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2888
- T30, T31, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2889
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2890
- typedef Templates31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2891
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2892
- T28, T29, T30, T31> type;
2893
- };
2894
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2895
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2896
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2897
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2898
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2899
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2900
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2901
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2902
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2903
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2904
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32>
2905
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2906
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2907
- T30, T31, T32, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2908
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2909
- typedef Templates32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2910
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2911
- T28, T29, T30, T31, T32> type;
2912
- };
2913
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2914
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2915
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2916
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2917
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2918
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2919
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2920
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2921
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2922
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2923
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33>
2924
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2925
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2926
- T30, T31, T32, T33, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2927
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2928
- typedef Templates33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2929
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2930
- T28, T29, T30, T31, T32, T33> type;
2931
- };
2932
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2933
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2934
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2935
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2936
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2937
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2938
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2939
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2940
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2941
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2942
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2943
- GTEST_TEMPLATE_ T34>
2944
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2945
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2946
- T30, T31, T32, T33, T34, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2947
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2948
- typedef Templates34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2949
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2950
- T28, T29, T30, T31, T32, T33, T34> type;
2951
- };
2952
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2953
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2954
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2955
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2956
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2957
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2958
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2959
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2960
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2961
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2962
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2963
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35>
2964
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2965
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2966
- T30, T31, T32, T33, T34, T35, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT,
2967
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2968
- typedef Templates35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2969
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2970
- T28, T29, T30, T31, T32, T33, T34, T35> type;
2971
- };
2972
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2973
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2974
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2975
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2976
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2977
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2978
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2979
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
2980
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
2981
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
2982
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
2983
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36>
2984
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
2985
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
2986
- T30, T31, T32, T33, T34, T35, T36, NoneT, NoneT, NoneT, NoneT, NoneT,
2987
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
2988
- typedef Templates36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
2989
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
2990
- T28, T29, T30, T31, T32, T33, T34, T35, T36> type;
2991
- };
2992
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
2993
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
2994
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
2995
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
2996
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
2997
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
2998
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
2999
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3000
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3001
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3002
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3003
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3004
- GTEST_TEMPLATE_ T37>
3005
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3006
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3007
- T30, T31, T32, T33, T34, T35, T36, T37, NoneT, NoneT, NoneT, NoneT, NoneT,
3008
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3009
- typedef Templates37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3010
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3011
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37> type;
3012
- };
3013
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3014
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3015
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3016
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3017
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3018
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3019
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3020
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3021
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3022
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3023
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3024
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3025
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38>
3026
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3027
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3028
- T30, T31, T32, T33, T34, T35, T36, T37, T38, NoneT, NoneT, NoneT, NoneT,
3029
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3030
- typedef Templates38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3031
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3032
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> type;
3033
- };
3034
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3035
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3036
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3037
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3038
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3039
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3040
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3041
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3042
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3043
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3044
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3045
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3046
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39>
3047
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3048
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3049
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, NoneT, NoneT, NoneT,
3050
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3051
- typedef Templates39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3052
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3053
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> type;
3054
- };
3055
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3056
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3057
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3058
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3059
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3060
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3061
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3062
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3063
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3064
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3065
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3066
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3067
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3068
- GTEST_TEMPLATE_ T40>
3069
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3070
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3071
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, NoneT, NoneT, NoneT,
3072
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3073
- typedef Templates40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3074
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3075
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> type;
3076
- };
3077
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3078
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3079
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3080
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3081
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3082
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3083
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3084
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3085
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3086
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3087
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3088
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3089
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3090
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41>
3091
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3092
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3093
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, NoneT, NoneT,
3094
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3095
- typedef Templates41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3096
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3097
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
3098
- T41> type;
3099
- };
3100
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3101
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3102
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3103
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3104
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3105
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3106
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3107
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3108
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3109
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3110
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3111
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3112
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3113
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42>
3114
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3115
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3116
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, NoneT,
3117
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3118
- typedef Templates42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3119
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3120
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3121
- T42> type;
3122
- };
3123
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3124
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3125
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3126
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3127
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3128
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3129
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3130
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3131
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3132
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3133
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3134
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3135
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3136
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3137
- GTEST_TEMPLATE_ T43>
3138
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3139
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3140
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
3141
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3142
- typedef Templates43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3143
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3144
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3145
- T42, T43> type;
3146
- };
3147
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3148
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3149
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3150
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3151
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3152
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3153
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3154
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3155
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3156
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3157
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3158
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3159
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3160
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3161
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44>
3162
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3163
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3164
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3165
- NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> {
3166
- typedef Templates44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3167
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3168
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3169
- T42, T43, T44> type;
3170
- };
3171
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3172
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3173
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3174
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3175
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3176
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3177
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3178
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3179
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3180
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3181
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3182
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3183
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3184
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3185
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45>
3186
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3187
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3188
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3189
- T45, NoneT, NoneT, NoneT, NoneT, NoneT> {
3190
- typedef Templates45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3191
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3192
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3193
- T42, T43, T44, T45> type;
3194
- };
3195
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3196
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3197
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3198
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3199
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3200
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3201
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3202
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3203
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3204
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3205
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3206
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3207
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3208
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3209
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3210
- GTEST_TEMPLATE_ T46>
3211
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3212
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3213
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3214
- T45, T46, NoneT, NoneT, NoneT, NoneT> {
3215
- typedef Templates46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3216
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3217
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3218
- T42, T43, T44, T45, T46> type;
3219
- };
3220
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3221
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3222
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3223
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3224
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3225
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3226
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3227
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3228
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3229
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3230
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3231
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3232
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3233
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3234
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3235
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47>
3236
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3237
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3238
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3239
- T45, T46, T47, NoneT, NoneT, NoneT> {
3240
- typedef Templates47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3241
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3242
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3243
- T42, T43, T44, T45, T46, T47> type;
3244
- };
3245
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3246
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3247
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3248
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3249
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3250
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3251
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3252
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3253
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3254
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3255
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3256
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3257
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3258
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3259
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3260
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48>
3261
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3262
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3263
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3264
- T45, T46, T47, T48, NoneT, NoneT> {
3265
- typedef Templates48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3266
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3267
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3268
- T42, T43, T44, T45, T46, T47, T48> type;
3269
- };
3270
- template <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3,
3271
- GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6,
3272
- GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9,
3273
- GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12,
3274
- GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15,
3275
- GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18,
3276
- GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21,
3277
- GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24,
3278
- GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27,
3279
- GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30,
3280
- GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33,
3281
- GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36,
3282
- GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39,
3283
- GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42,
3284
- GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45,
3285
- GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48,
3286
- GTEST_TEMPLATE_ T49>
3287
- struct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
3288
- T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
3289
- T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44,
3290
- T45, T46, T47, T48, T49, NoneT> {
3291
- typedef Templates49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3292
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27,
3293
- T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41,
3294
- T42, T43, T44, T45, T46, T47, T48, T49> type;
3295
- };
3296
-
3297
- // The TypeList template makes it possible to use either a single type
3298
- // or a Types<...> list in TYPED_TEST_CASE() and
3299
- // INSTANTIATE_TYPED_TEST_CASE_P().
3300
-
3301
- template <typename T>
3302
- struct TypeList {
3303
- typedef Types1<T> type;
3304
- };
3305
-
3306
- template <typename T1, typename T2, typename T3, typename T4, typename T5,
3307
- typename T6, typename T7, typename T8, typename T9, typename T10,
3308
- typename T11, typename T12, typename T13, typename T14, typename T15,
3309
- typename T16, typename T17, typename T18, typename T19, typename T20,
3310
- typename T21, typename T22, typename T23, typename T24, typename T25,
3311
- typename T26, typename T27, typename T28, typename T29, typename T30,
3312
- typename T31, typename T32, typename T33, typename T34, typename T35,
3313
- typename T36, typename T37, typename T38, typename T39, typename T40,
3314
- typename T41, typename T42, typename T43, typename T44, typename T45,
3315
- typename T46, typename T47, typename T48, typename T49, typename T50>
3316
- struct TypeList<Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13,
3317
- T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28,
3318
- T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43,
3319
- T44, T45, T46, T47, T48, T49, T50> > {
3320
- typedef typename Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,
3321
- T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26,
3322
- T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
3323
- T41, T42, T43, T44, T45, T46, T47, T48, T49, T50>::type type;
3324
- };
3325
-
3326
- #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
3327
-
3328
- } // namespace internal
3329
- } // namespace testing
3330
-
3331
- #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_