cppjieba_rb 0.3.3 → 0.4.0

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