1 // This file was GENERATED by command:
2 // pump.py gtest-type-util.h.pump
3 // DO NOT EDIT BY HAND!!!
5 // Copyright 2008 Google Inc.
6 // All Rights Reserved.
8 // Redistribution and use in source and binary forms, with or without
9 // modification, are permitted provided that the following conditions are
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
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.
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.
34 // Type utilities needed for implementing typed and type-parameterized
35 // tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
37 // Currently we support at most 50 types in a list, and at most 50
38 // type-parameterized tests in one type-parameterized test suite.
39 // Please contact googletestframework@googlegroups.com if you need
42 // GOOGLETEST_CM0001 DO NOT DELETE
44 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_
45 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_
47 #include "gtest/internal/gtest-port.h"
49 // #ifdef __GNUC__ is too general here. It is possible to use gcc without using
50 // libstdc++ (which is where cxxabi.h comes from).
51 # if GTEST_HAS_CXXABI_H_
53 # elif defined(__HP_aCC)
54 # include <acxx_demangle.h>
55 # endif // GTEST_HASH_CXXABI_H_
60 // Canonicalizes a given name with respect to the Standard C++ Library.
61 // This handles removing the inline namespace within `std` that is
62 // used by various standard libraries (e.g., `std::__1`). Names outside
63 // of namespace std are returned unmodified.
64 inline std::string
CanonicalizeForStdLibVersioning(std::string s
) {
65 static const char prefix
[] = "std::__";
66 if (s
.compare(0, strlen(prefix
), prefix
) == 0) {
67 std::string::size_type end
= s
.find("::", strlen(prefix
));
69 // Erase everything between the initial `std` and the second `::`.
70 s
.erase(strlen("std"), end
- strlen("std"));
76 // GetTypeName<T>() returns a human-readable name of type T.
77 // NB: This function is also used in Google Mock, so don't move it inside of
78 // the typed-test-only section below.
80 std::string
GetTypeName() {
83 const char* const name
= typeid(T
).name();
84 # if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC)
86 // gcc's implementation of typeid(T).name() mangles the type name,
87 // so we have to demangle it.
88 # if GTEST_HAS_CXXABI_H_
89 using abi::__cxa_demangle
;
90 # endif // GTEST_HAS_CXXABI_H_
91 char* const readable_name
= __cxa_demangle(name
, nullptr, nullptr, &status
);
92 const std::string
name_str(status
== 0 ? readable_name
: name
);
94 return CanonicalizeForStdLibVersioning(name_str
);
97 # endif // GTEST_HAS_CXXABI_H_ || __HP_aCC
103 # endif // GTEST_HAS_RTTI
106 #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
108 // A unique type used as the default value for the arguments of class
109 // template Types. This allows us to simulate variadic templates
110 // (e.g. Types<int>, Type<int, double>, and etc), which C++ doesn't
114 // The following family of struct and struct templates are used to
115 // represent type lists. In particular, TypesN<T1, T2, ..., TN>
116 // represents a type list with N types (T1, T2, ..., and TN) in it.
117 // Except for Types0, every struct in the family has two member types:
118 // Head for the first type in the list, and Tail for the rest of the
121 // The empty type list.
124 // Type lists of length 1, 2, 3, and so on.
126 template <typename T1
>
131 template <typename T1
, typename T2
>
134 typedef Types1
<T2
> Tail
;
137 template <typename T1
, typename T2
, typename T3
>
140 typedef Types2
<T2
, T3
> Tail
;
143 template <typename T1
, typename T2
, typename T3
, typename T4
>
146 typedef Types3
<T2
, T3
, T4
> Tail
;
149 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
152 typedef Types4
<T2
, T3
, T4
, T5
> Tail
;
155 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
159 typedef Types5
<T2
, T3
, T4
, T5
, T6
> Tail
;
162 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
163 typename T6
, typename T7
>
166 typedef Types6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
169 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
170 typename T6
, typename T7
, typename T8
>
173 typedef Types7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
176 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
177 typename T6
, typename T7
, typename T8
, typename T9
>
180 typedef Types8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
183 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
184 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
187 typedef Types9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
190 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
191 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
195 typedef Types10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
198 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
199 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
200 typename T11
, typename T12
>
203 typedef Types11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
206 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
207 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
208 typename T11
, typename T12
, typename T13
>
211 typedef Types12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
214 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
215 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
216 typename T11
, typename T12
, typename T13
, typename T14
>
219 typedef Types13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
> Tail
;
222 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
223 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
224 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
227 typedef Types14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
231 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
232 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
233 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
237 typedef Types15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
241 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
242 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
243 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
244 typename T16
, typename T17
>
247 typedef Types16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
251 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
252 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
253 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
254 typename T16
, typename T17
, typename T18
>
257 typedef Types17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
261 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
262 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
263 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
264 typename T16
, typename T17
, typename T18
, typename T19
>
267 typedef Types18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
268 T16
, T17
, T18
, T19
> Tail
;
271 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
272 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
273 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
274 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
277 typedef Types19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
278 T16
, T17
, T18
, T19
, T20
> Tail
;
281 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
282 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
283 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
284 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
288 typedef Types20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
289 T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
292 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
293 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
294 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
295 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
296 typename T21
, typename T22
>
299 typedef Types21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
300 T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
303 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
304 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
305 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
306 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
307 typename T21
, typename T22
, typename T23
>
310 typedef Types22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
311 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
314 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
315 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
316 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
317 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
318 typename T21
, typename T22
, typename T23
, typename T24
>
321 typedef Types23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
322 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
325 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
326 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
327 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
328 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
329 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
332 typedef Types24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
333 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
336 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
337 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
338 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
339 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
340 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
344 typedef Types25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
345 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
348 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
349 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
350 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
351 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
352 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
353 typename T26
, typename T27
>
356 typedef Types26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
357 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
360 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
361 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
362 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
363 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
364 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
365 typename T26
, typename T27
, typename T28
>
368 typedef Types27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
369 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
> Tail
;
372 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
373 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
374 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
375 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
376 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
377 typename T26
, typename T27
, typename T28
, typename T29
>
380 typedef Types28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
381 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
385 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
386 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
387 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
388 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
389 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
390 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
393 typedef Types29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
394 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
398 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
399 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
400 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
401 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
402 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
403 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
407 typedef Types30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
408 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
412 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
413 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
414 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
415 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
416 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
417 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
418 typename T31
, typename T32
>
421 typedef Types31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
422 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
426 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
427 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
428 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
429 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
430 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
431 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
432 typename T31
, typename T32
, typename T33
>
435 typedef Types32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
436 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
437 T30
, T31
, T32
, T33
> Tail
;
440 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
441 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
442 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
443 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
444 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
445 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
446 typename T31
, typename T32
, typename T33
, typename T34
>
449 typedef Types33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
450 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
451 T30
, T31
, T32
, T33
, T34
> Tail
;
454 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
455 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
456 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
457 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
458 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
459 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
460 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
463 typedef Types34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
464 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
465 T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
468 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
469 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
470 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
471 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
472 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
473 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
474 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
478 typedef Types35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
479 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
480 T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
483 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
484 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
485 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
486 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
487 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
488 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
489 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
490 typename T36
, typename T37
>
493 typedef Types36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
494 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
495 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
498 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
499 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
500 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
501 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
502 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
503 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
504 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
505 typename T36
, typename T37
, typename T38
>
508 typedef Types37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
509 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
510 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
513 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
514 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
515 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
516 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
517 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
518 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
519 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
520 typename T36
, typename T37
, typename T38
, typename T39
>
523 typedef Types38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
524 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
525 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
528 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
529 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
530 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
531 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
532 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
533 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
534 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
535 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
538 typedef Types39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
539 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
540 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
543 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
544 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
545 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
546 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
547 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
548 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
549 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
550 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
554 typedef Types40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
555 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
556 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
559 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
560 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
561 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
562 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
563 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
564 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
565 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
566 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
567 typename T41
, typename T42
>
570 typedef Types41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
571 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
572 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
> Tail
;
575 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
576 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
577 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
578 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
579 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
580 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
581 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
582 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
583 typename T41
, typename T42
, typename T43
>
586 typedef Types42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
587 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
588 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
592 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
593 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
594 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
595 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
596 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
597 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
598 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
599 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
600 typename T41
, typename T42
, typename T43
, typename T44
>
603 typedef Types43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
604 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
605 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
609 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
610 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
611 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
612 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
613 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
614 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
615 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
616 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
617 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
620 typedef Types44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
621 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
622 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
626 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
627 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
628 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
629 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
630 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
631 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
632 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
633 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
634 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
638 typedef Types45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
639 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
640 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
644 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
645 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
646 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
647 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
648 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
649 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
650 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
651 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
652 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
653 typename T46
, typename T47
>
656 typedef Types46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
657 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
658 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
659 T44
, T45
, T46
, T47
> Tail
;
662 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
663 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
664 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
665 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
666 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
667 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
668 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
669 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
670 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
671 typename T46
, typename T47
, typename T48
>
674 typedef Types47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
675 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
676 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
677 T44
, T45
, T46
, T47
, T48
> Tail
;
680 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
681 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
682 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
683 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
684 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
685 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
686 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
687 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
688 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
689 typename T46
, typename T47
, typename T48
, typename T49
>
692 typedef Types48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
693 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
694 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
695 T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
698 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
699 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
700 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
701 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
702 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
703 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
704 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
705 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
706 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
707 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
710 typedef Types49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
711 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
712 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
713 T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
717 } // namespace internal
719 // We don't want to require the users to write TypesN<...> directly,
720 // as that would require them to count the length. Types<...> is much
721 // easier to write, but generates horrible messages when there is a
722 // compiler error, as gcc insists on printing out each template
723 // argument, even if it has the default value (this means Types<int>
724 // will appear as Types<int, None, None, ..., None> in the compiler
727 // Our solution is to combine the best part of the two approaches: a
728 // user would write Types<T1, ..., TN>, and Google Test will translate
729 // that to TypesN<T1, ..., TN> internally to make error messages
730 // readable. The translation is done by the 'type' member of the
732 template <typename T1
= internal::None
, typename T2
= internal::None
,
733 typename T3
= internal::None
, typename T4
= internal::None
,
734 typename T5
= internal::None
, typename T6
= internal::None
,
735 typename T7
= internal::None
, typename T8
= internal::None
,
736 typename T9
= internal::None
, typename T10
= internal::None
,
737 typename T11
= internal::None
, typename T12
= internal::None
,
738 typename T13
= internal::None
, typename T14
= internal::None
,
739 typename T15
= internal::None
, typename T16
= internal::None
,
740 typename T17
= internal::None
, typename T18
= internal::None
,
741 typename T19
= internal::None
, typename T20
= internal::None
,
742 typename T21
= internal::None
, typename T22
= internal::None
,
743 typename T23
= internal::None
, typename T24
= internal::None
,
744 typename T25
= internal::None
, typename T26
= internal::None
,
745 typename T27
= internal::None
, typename T28
= internal::None
,
746 typename T29
= internal::None
, typename T30
= internal::None
,
747 typename T31
= internal::None
, typename T32
= internal::None
,
748 typename T33
= internal::None
, typename T34
= internal::None
,
749 typename T35
= internal::None
, typename T36
= internal::None
,
750 typename T37
= internal::None
, typename T38
= internal::None
,
751 typename T39
= internal::None
, typename T40
= internal::None
,
752 typename T41
= internal::None
, typename T42
= internal::None
,
753 typename T43
= internal::None
, typename T44
= internal::None
,
754 typename T45
= internal::None
, typename T46
= internal::None
,
755 typename T47
= internal::None
, typename T48
= internal::None
,
756 typename T49
= internal::None
, typename T50
= internal::None
>
758 typedef internal::Types50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
759 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
760 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
761 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
765 struct Types
<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
, internal::None
, internal::None
,
775 internal::None
, internal::None
, internal::None
, internal::None
,
776 internal::None
, internal::None
, internal::None
, internal::None
,
777 internal::None
, internal::None
> {
778 typedef internal::Types0 type
;
780 template <typename T1
>
781 struct Types
<T1
, 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
, internal::None
, internal::None
,
791 internal::None
, internal::None
, internal::None
, internal::None
,
792 internal::None
, internal::None
, internal::None
, internal::None
,
793 internal::None
, internal::None
> {
794 typedef internal::Types1
<T1
> type
;
796 template <typename T1
, typename T2
>
797 struct Types
<T1
, T2
, 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
, internal::None
, internal::None
, internal::None
,
807 internal::None
, internal::None
, internal::None
, internal::None
,
808 internal::None
, internal::None
, internal::None
, internal::None
,
810 typedef internal::Types2
<T1
, T2
> type
;
812 template <typename T1
, typename T2
, typename T3
>
813 struct Types
<T1
, T2
, T3
, 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 internal::None
, internal::None
, internal::None
, internal::None
,
823 internal::None
, internal::None
, internal::None
, internal::None
,
824 internal::None
, internal::None
, internal::None
, internal::None
> {
825 typedef internal::Types3
<T1
, T2
, T3
> type
;
827 template <typename T1
, typename T2
, typename T3
, typename T4
>
828 struct Types
<T1
, T2
, T3
, T4
, 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
, internal::None
,
837 internal::None
, internal::None
, internal::None
, internal::None
,
838 internal::None
, internal::None
, internal::None
, internal::None
,
839 internal::None
, internal::None
, internal::None
> {
840 typedef internal::Types4
<T1
, T2
, T3
, T4
> type
;
842 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
843 struct Types
<T1
, T2
, T3
, T4
, T5
, 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
, internal::None
,
852 internal::None
, internal::None
, internal::None
, internal::None
,
853 internal::None
, internal::None
, internal::None
, internal::None
,
854 internal::None
, internal::None
, internal::None
> {
855 typedef internal::Types5
<T1
, T2
, T3
, T4
, T5
> type
;
857 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
859 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, 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
, internal::None
, internal::None
,
868 internal::None
, internal::None
, internal::None
, internal::None
,
869 internal::None
, internal::None
, internal::None
, internal::None
,
870 internal::None
, internal::None
> {
871 typedef internal::Types6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
873 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
874 typename T6
, typename T7
>
875 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, 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
, internal::None
, internal::None
, internal::None
,
884 internal::None
, internal::None
, internal::None
, internal::None
,
885 internal::None
, internal::None
, internal::None
, internal::None
,
887 typedef internal::Types7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
889 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
890 typename T6
, typename T7
, typename T8
>
891 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, 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 internal::None
, internal::None
, internal::None
, internal::None
,
900 internal::None
, internal::None
, internal::None
, internal::None
,
901 internal::None
, internal::None
, internal::None
, internal::None
> {
902 typedef internal::Types8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
904 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
905 typename T6
, typename T7
, typename T8
, typename T9
>
906 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, 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 internal::None
, internal::None
, internal::None
, internal::None
,
915 internal::None
, internal::None
, internal::None
, internal::None
,
916 internal::None
, internal::None
, internal::None
, internal::None
> {
917 typedef internal::Types9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
919 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
920 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
921 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, 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
, internal::None
,
929 internal::None
, internal::None
, internal::None
, internal::None
,
930 internal::None
, internal::None
, internal::None
, internal::None
,
931 internal::None
, internal::None
, internal::None
> {
932 typedef internal::Types10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
934 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
935 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
937 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, 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
, internal::None
, internal::None
,
945 internal::None
, internal::None
, internal::None
, internal::None
,
946 internal::None
, internal::None
, internal::None
, internal::None
,
947 internal::None
, internal::None
> {
948 typedef internal::Types11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
950 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
951 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
952 typename T11
, typename T12
>
953 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, 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
, internal::None
, internal::None
, internal::None
,
961 internal::None
, internal::None
, internal::None
, internal::None
,
962 internal::None
, internal::None
, internal::None
, internal::None
,
964 typedef internal::Types12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
,
967 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
968 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
969 typename T11
, typename T12
, typename T13
>
970 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
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
, internal::None
, internal::None
, internal::None
,
978 internal::None
, internal::None
, internal::None
, internal::None
,
979 internal::None
, internal::None
, internal::None
, internal::None
,
981 typedef internal::Types13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
984 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
985 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
986 typename T11
, typename T12
, typename T13
, typename T14
>
987 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
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 internal::None
, internal::None
, internal::None
, internal::None
,
995 internal::None
, internal::None
, internal::None
, internal::None
,
996 internal::None
, internal::None
, internal::None
, internal::None
> {
997 typedef internal::Types14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1000 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1001 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1002 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
1003 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
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
, internal::None
,
1010 internal::None
, internal::None
, internal::None
, internal::None
,
1011 internal::None
, internal::None
, internal::None
, internal::None
,
1012 internal::None
, internal::None
, internal::None
> {
1013 typedef internal::Types15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1014 T13
, T14
, T15
> type
;
1016 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1017 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1018 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1020 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1021 T16
, 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
, internal::None
, internal::None
,
1027 internal::None
, internal::None
, internal::None
, internal::None
,
1028 internal::None
, internal::None
, internal::None
, internal::None
,
1029 internal::None
, internal::None
> {
1030 typedef internal::Types16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1031 T13
, T14
, T15
, T16
> type
;
1033 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1034 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1035 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1036 typename T16
, typename T17
>
1037 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1038 T16
, T17
, 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
, internal::None
, internal::None
, internal::None
,
1044 internal::None
, internal::None
, internal::None
, internal::None
,
1045 internal::None
, internal::None
, internal::None
, internal::None
,
1047 typedef internal::Types17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1048 T13
, T14
, T15
, T16
, T17
> type
;
1050 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1051 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1052 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1053 typename T16
, typename T17
, typename T18
>
1054 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1055 T16
, T17
, T18
, 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
, internal::None
, internal::None
, internal::None
,
1061 internal::None
, internal::None
, internal::None
, internal::None
,
1062 internal::None
, internal::None
, internal::None
, internal::None
,
1064 typedef internal::Types18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1065 T13
, T14
, T15
, T16
, T17
, T18
> type
;
1067 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1068 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1069 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1070 typename T16
, typename T17
, typename T18
, typename T19
>
1071 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1072 T16
, T17
, T18
, T19
, 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 internal::None
, internal::None
, internal::None
, internal::None
,
1078 internal::None
, internal::None
, internal::None
, internal::None
,
1079 internal::None
, internal::None
, internal::None
, internal::None
> {
1080 typedef internal::Types19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1081 T13
, T14
, T15
, T16
, T17
, T18
, T19
> type
;
1083 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1084 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1085 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1086 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
1087 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1088 T16
, T17
, T18
, T19
, T20
, 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
, internal::None
,
1093 internal::None
, internal::None
, internal::None
, internal::None
,
1094 internal::None
, internal::None
, internal::None
, internal::None
,
1095 internal::None
, internal::None
, internal::None
> {
1096 typedef internal::Types20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1097 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
1099 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1100 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1101 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1102 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1104 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1105 T16
, T17
, T18
, T19
, T20
, T21
, 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
, internal::None
,
1110 internal::None
, internal::None
, internal::None
, internal::None
,
1111 internal::None
, internal::None
, internal::None
, internal::None
,
1112 internal::None
, internal::None
, internal::None
> {
1113 typedef internal::Types21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1114 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
1116 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1117 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1118 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1119 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1120 typename T21
, typename T22
>
1121 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1122 T16
, T17
, T18
, T19
, T20
, T21
, T22
, 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
, internal::None
, internal::None
,
1127 internal::None
, internal::None
, internal::None
, internal::None
,
1128 internal::None
, internal::None
, internal::None
, internal::None
,
1129 internal::None
, internal::None
> {
1130 typedef internal::Types22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1131 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
1133 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1134 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1135 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1136 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1137 typename T21
, typename T22
, typename T23
>
1138 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1139 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, 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
, internal::None
, internal::None
, internal::None
,
1144 internal::None
, internal::None
, internal::None
, internal::None
,
1145 internal::None
, internal::None
, internal::None
, internal::None
,
1147 typedef internal::Types23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1148 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
1150 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1151 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1152 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1153 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1154 typename T21
, typename T22
, typename T23
, typename T24
>
1155 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1156 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, 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
, internal::None
, internal::None
, internal::None
,
1161 internal::None
, internal::None
, internal::None
, internal::None
,
1162 internal::None
, internal::None
, internal::None
, internal::None
,
1164 typedef internal::Types24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1165 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
1167 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1168 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1169 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1170 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1171 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
1172 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1173 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, 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 internal::None
, internal::None
, internal::None
, internal::None
,
1178 internal::None
, internal::None
, internal::None
, internal::None
,
1179 internal::None
, internal::None
, internal::None
, internal::None
> {
1180 typedef internal::Types25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1181 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
1183 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1184 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1185 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1186 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1187 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1189 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1190 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, 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
, internal::None
,
1194 internal::None
, internal::None
, internal::None
, internal::None
,
1195 internal::None
, internal::None
, internal::None
, internal::None
,
1196 internal::None
, internal::None
, internal::None
> {
1197 typedef internal::Types26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1198 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
,
1201 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1202 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1203 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1204 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1205 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1206 typename T26
, typename T27
>
1207 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1208 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, 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
, internal::None
, internal::None
,
1212 internal::None
, internal::None
, internal::None
, internal::None
,
1213 internal::None
, internal::None
, internal::None
, internal::None
,
1214 internal::None
, internal::None
> {
1215 typedef internal::Types27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1216 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1219 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1220 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1221 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1222 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1223 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1224 typename T26
, typename T27
, typename T28
>
1225 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1226 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1227 internal::None
, internal::None
, internal::None
, internal::None
,
1228 internal::None
, internal::None
, internal::None
, internal::None
,
1229 internal::None
, internal::None
, internal::None
, internal::None
,
1230 internal::None
, internal::None
, internal::None
, internal::None
,
1231 internal::None
, internal::None
, internal::None
, internal::None
,
1232 internal::None
, internal::None
> {
1233 typedef internal::Types28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1234 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1237 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1238 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1239 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1240 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1241 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1242 typename T26
, typename T27
, typename T28
, typename T29
>
1243 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1244 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
1245 internal::None
, internal::None
, internal::None
, internal::None
,
1246 internal::None
, internal::None
, internal::None
, internal::None
,
1247 internal::None
, internal::None
, internal::None
, internal::None
,
1248 internal::None
, internal::None
, internal::None
, internal::None
,
1249 internal::None
, internal::None
, internal::None
, internal::None
,
1251 typedef internal::Types29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1252 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1253 T27
, T28
, T29
> type
;
1255 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1256 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1257 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1258 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1259 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1260 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
1261 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1262 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1263 internal::None
, internal::None
, internal::None
, internal::None
,
1264 internal::None
, internal::None
, internal::None
, internal::None
,
1265 internal::None
, internal::None
, internal::None
, internal::None
,
1266 internal::None
, internal::None
, internal::None
, internal::None
,
1267 internal::None
, internal::None
, internal::None
, internal::None
> {
1268 typedef internal::Types30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1269 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1270 T27
, T28
, T29
, T30
> type
;
1272 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1273 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1274 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1275 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1276 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1277 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1279 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1280 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1281 T31
, internal::None
, internal::None
, internal::None
, internal::None
,
1282 internal::None
, internal::None
, internal::None
, internal::None
,
1283 internal::None
, internal::None
, internal::None
, internal::None
,
1284 internal::None
, internal::None
, internal::None
, internal::None
,
1285 internal::None
, internal::None
, internal::None
> {
1286 typedef internal::Types31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1287 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1288 T27
, T28
, T29
, T30
, T31
> type
;
1290 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1291 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1292 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1293 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1294 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1295 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1296 typename T31
, typename T32
>
1297 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1298 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1299 T31
, T32
, internal::None
, internal::None
, internal::None
, internal::None
,
1300 internal::None
, internal::None
, internal::None
, internal::None
,
1301 internal::None
, internal::None
, internal::None
, internal::None
,
1302 internal::None
, internal::None
, internal::None
, internal::None
,
1303 internal::None
, internal::None
> {
1304 typedef internal::Types32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1305 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1306 T27
, T28
, T29
, T30
, T31
, T32
> type
;
1308 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1309 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1310 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1311 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1312 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1313 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1314 typename T31
, typename T32
, typename T33
>
1315 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1316 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1317 T31
, T32
, T33
, internal::None
, internal::None
, internal::None
,
1318 internal::None
, internal::None
, internal::None
, internal::None
,
1319 internal::None
, internal::None
, internal::None
, internal::None
,
1320 internal::None
, internal::None
, internal::None
, internal::None
,
1321 internal::None
, internal::None
> {
1322 typedef internal::Types33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1323 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1324 T27
, T28
, T29
, T30
, T31
, T32
, T33
> type
;
1326 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1327 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1328 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1329 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1330 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1331 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1332 typename T31
, typename T32
, typename T33
, typename T34
>
1333 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1334 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1335 T31
, T32
, T33
, T34
, internal::None
, internal::None
, internal::None
,
1336 internal::None
, internal::None
, internal::None
, internal::None
,
1337 internal::None
, internal::None
, internal::None
, internal::None
,
1338 internal::None
, internal::None
, internal::None
, internal::None
,
1340 typedef internal::Types34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1341 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1342 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
1344 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1345 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1346 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1347 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1348 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1349 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1350 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
1351 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1352 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1353 T31
, T32
, T33
, T34
, T35
, internal::None
, internal::None
, internal::None
,
1354 internal::None
, internal::None
, internal::None
, internal::None
,
1355 internal::None
, internal::None
, internal::None
, internal::None
,
1356 internal::None
, internal::None
, internal::None
, internal::None
> {
1357 typedef internal::Types35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1358 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1359 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
1361 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1362 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1363 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1364 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1365 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1366 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1367 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1369 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1370 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1371 T31
, T32
, T33
, T34
, T35
, T36
, internal::None
, internal::None
,
1372 internal::None
, internal::None
, internal::None
, internal::None
,
1373 internal::None
, internal::None
, internal::None
, internal::None
,
1374 internal::None
, internal::None
, internal::None
, internal::None
> {
1375 typedef internal::Types36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1376 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1377 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
1379 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1380 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1381 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1382 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1383 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1384 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1385 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1386 typename T36
, typename T37
>
1387 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1388 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1389 T31
, T32
, T33
, T34
, T35
, T36
, T37
, internal::None
, internal::None
,
1390 internal::None
, internal::None
, internal::None
, internal::None
,
1391 internal::None
, internal::None
, internal::None
, internal::None
,
1392 internal::None
, internal::None
, internal::None
> {
1393 typedef internal::Types37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1394 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1395 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
1397 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1398 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1399 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1400 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1401 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1402 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1403 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1404 typename T36
, typename T37
, typename T38
>
1405 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1406 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1407 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, internal::None
, internal::None
,
1408 internal::None
, internal::None
, internal::None
, internal::None
,
1409 internal::None
, internal::None
, internal::None
, internal::None
,
1410 internal::None
, internal::None
> {
1411 typedef internal::Types38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1412 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1413 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
1415 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1416 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1417 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1418 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1419 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1420 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1421 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1422 typename T36
, typename T37
, typename T38
, typename T39
>
1423 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1424 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1425 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, internal::None
,
1426 internal::None
, internal::None
, internal::None
, internal::None
,
1427 internal::None
, internal::None
, internal::None
, internal::None
,
1428 internal::None
, internal::None
> {
1429 typedef internal::Types39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1430 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1431 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
1433 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1434 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1435 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1436 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1437 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1438 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1439 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1440 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
1441 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1442 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1443 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, internal::None
,
1444 internal::None
, internal::None
, internal::None
, internal::None
,
1445 internal::None
, internal::None
, internal::None
, internal::None
,
1447 typedef internal::Types40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1448 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1449 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
,
1452 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1453 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1454 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1455 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1456 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1457 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1458 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1459 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1461 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1462 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1463 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, internal::None
,
1464 internal::None
, internal::None
, internal::None
, internal::None
,
1465 internal::None
, internal::None
, internal::None
, internal::None
> {
1466 typedef internal::Types41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1467 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1468 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1471 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1472 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1473 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1474 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1475 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1476 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1477 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1478 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1479 typename T41
, typename T42
>
1480 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1481 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1482 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, internal::None
,
1483 internal::None
, internal::None
, internal::None
, internal::None
,
1484 internal::None
, internal::None
, internal::None
> {
1485 typedef internal::Types42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1486 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1487 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1490 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1491 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1492 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1493 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1494 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1495 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1496 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1497 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1498 typename T41
, typename T42
, typename T43
>
1499 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1500 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1501 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
1502 internal::None
, internal::None
, internal::None
, internal::None
,
1503 internal::None
, internal::None
, internal::None
> {
1504 typedef internal::Types43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1505 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1506 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1507 T41
, T42
, T43
> type
;
1509 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1510 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1511 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1512 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1513 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1514 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1515 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1516 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1517 typename T41
, typename T42
, typename T43
, typename T44
>
1518 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1519 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1520 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
1521 internal::None
, internal::None
, internal::None
, internal::None
,
1522 internal::None
, internal::None
> {
1523 typedef internal::Types44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1524 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1525 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1526 T41
, T42
, T43
, T44
> type
;
1528 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1529 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1530 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1531 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1532 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1533 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1534 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1535 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1536 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
1537 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1538 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1539 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1540 internal::None
, internal::None
, internal::None
, internal::None
,
1542 typedef internal::Types45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1543 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1544 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1545 T41
, T42
, T43
, T44
, T45
> type
;
1547 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1548 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1549 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1550 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1551 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1552 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1553 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1554 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1555 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1557 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1558 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1559 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1560 T46
, internal::None
, internal::None
, internal::None
, internal::None
> {
1561 typedef internal::Types46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1562 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1563 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1564 T41
, T42
, T43
, T44
, T45
, T46
> type
;
1566 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1567 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1568 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1569 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1570 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1571 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1572 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1573 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1574 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1575 typename T46
, typename T47
>
1576 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1577 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1578 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1579 T46
, T47
, internal::None
, internal::None
, internal::None
> {
1580 typedef internal::Types47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1581 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1582 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1583 T41
, T42
, T43
, T44
, T45
, T46
, T47
> type
;
1585 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1586 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1587 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1588 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1589 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1590 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1591 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1592 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1593 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1594 typename T46
, typename T47
, typename T48
>
1595 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1596 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1597 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1598 T46
, T47
, T48
, internal::None
, internal::None
> {
1599 typedef internal::Types48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1600 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1601 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1602 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
1604 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1605 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1606 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1607 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1608 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1609 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1610 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1611 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1612 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1613 typename T46
, typename T47
, typename T48
, typename T49
>
1614 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1615 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1616 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1617 T46
, T47
, T48
, T49
, internal::None
> {
1618 typedef internal::Types49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1619 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1620 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1621 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
1624 namespace internal
{
1626 # define GTEST_TEMPLATE_ template <typename T> class
1628 // The template "selector" struct TemplateSel<Tmpl> is used to
1629 // represent Tmpl, which must be a class template with one type
1630 // parameter, as a type. TemplateSel<Tmpl>::Bind<T>::type is defined
1631 // as the type Tmpl<T>. This allows us to actually instantiate the
1632 // template "selected" by TemplateSel<Tmpl>.
1634 // This trick is necessary for simulating typedef for class templates,
1635 // which C++ doesn't support directly.
1636 template <GTEST_TEMPLATE_ Tmpl
>
1637 struct TemplateSel
{
1638 template <typename T
>
1640 typedef Tmpl
<T
> type
;
1644 # define GTEST_BIND_(TmplSel, T) \
1645 TmplSel::template Bind<T>::type
1647 // A unique struct template used as the default value for the
1648 // arguments of class template Templates. This allows us to simulate
1649 // variadic templates (e.g. Templates<int>, Templates<int, double>,
1650 // and etc), which C++ doesn't support directly.
1651 template <typename T
>
1654 // The following family of struct and struct templates are used to
1655 // represent template lists. In particular, TemplatesN<T1, T2, ...,
1656 // TN> represents a list of N templates (T1, T2, ..., and TN). Except
1657 // for Templates0, every struct in the family has two member types:
1658 // Head for the selector of the first template in the list, and Tail
1659 // for the rest of the list.
1661 // The empty template list.
1662 struct Templates0
{};
1664 // Template lists of length 1, 2, 3, and so on.
1666 template <GTEST_TEMPLATE_ T1
>
1668 typedef TemplateSel
<T1
> Head
;
1669 typedef Templates0 Tail
;
1671 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
1673 typedef TemplateSel
<T1
> Head
;
1674 typedef Templates1
<T2
> Tail
;
1677 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
1679 typedef TemplateSel
<T1
> Head
;
1680 typedef Templates2
<T2
, T3
> Tail
;
1683 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1686 typedef TemplateSel
<T1
> Head
;
1687 typedef Templates3
<T2
, T3
, T4
> Tail
;
1690 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1691 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
1693 typedef TemplateSel
<T1
> Head
;
1694 typedef Templates4
<T2
, T3
, T4
, T5
> Tail
;
1697 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1698 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
1700 typedef TemplateSel
<T1
> Head
;
1701 typedef Templates5
<T2
, T3
, T4
, T5
, T6
> Tail
;
1704 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1705 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1708 typedef TemplateSel
<T1
> Head
;
1709 typedef Templates6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
1712 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1713 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1714 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
1716 typedef TemplateSel
<T1
> Head
;
1717 typedef Templates7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
1720 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1721 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1722 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
1724 typedef TemplateSel
<T1
> Head
;
1725 typedef Templates8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
1728 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1729 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1730 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1731 GTEST_TEMPLATE_ T10
>
1732 struct Templates10
{
1733 typedef TemplateSel
<T1
> Head
;
1734 typedef Templates9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
1737 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1738 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1739 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1740 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
1741 struct Templates11
{
1742 typedef TemplateSel
<T1
> Head
;
1743 typedef Templates10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
1746 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1747 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1748 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1749 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
1750 struct Templates12
{
1751 typedef TemplateSel
<T1
> Head
;
1752 typedef Templates11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
1755 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1756 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1757 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1758 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1759 GTEST_TEMPLATE_ T13
>
1760 struct Templates13
{
1761 typedef TemplateSel
<T1
> Head
;
1762 typedef Templates12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
1765 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1766 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1767 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1768 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1769 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
1770 struct Templates14
{
1771 typedef TemplateSel
<T1
> Head
;
1772 typedef Templates13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
1776 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1777 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1778 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1779 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1780 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
1781 struct Templates15
{
1782 typedef TemplateSel
<T1
> Head
;
1783 typedef Templates14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1787 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1788 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1789 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1790 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1791 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1792 GTEST_TEMPLATE_ T16
>
1793 struct Templates16
{
1794 typedef TemplateSel
<T1
> Head
;
1795 typedef Templates15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1799 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1800 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1801 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1802 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1803 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1804 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
1805 struct Templates17
{
1806 typedef TemplateSel
<T1
> Head
;
1807 typedef Templates16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1808 T15
, T16
, T17
> Tail
;
1811 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1812 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1813 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1814 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1815 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1816 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
1817 struct Templates18
{
1818 typedef TemplateSel
<T1
> Head
;
1819 typedef Templates17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1820 T15
, T16
, T17
, T18
> Tail
;
1823 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1824 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1825 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1826 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1827 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1828 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1829 GTEST_TEMPLATE_ T19
>
1830 struct Templates19
{
1831 typedef TemplateSel
<T1
> Head
;
1832 typedef Templates18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1833 T15
, T16
, T17
, T18
, T19
> Tail
;
1836 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1837 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1838 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1839 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1840 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1841 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1842 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
1843 struct Templates20
{
1844 typedef TemplateSel
<T1
> Head
;
1845 typedef Templates19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1846 T15
, T16
, T17
, T18
, T19
, T20
> Tail
;
1849 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1850 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1851 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1852 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1853 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1854 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1855 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
1856 struct Templates21
{
1857 typedef TemplateSel
<T1
> Head
;
1858 typedef Templates20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1859 T15
, T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
1862 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1863 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1864 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1865 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1866 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1867 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1868 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1869 GTEST_TEMPLATE_ T22
>
1870 struct Templates22
{
1871 typedef TemplateSel
<T1
> Head
;
1872 typedef Templates21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1873 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
1876 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1877 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1878 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1879 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1880 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1881 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1882 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1883 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
1884 struct Templates23
{
1885 typedef TemplateSel
<T1
> Head
;
1886 typedef Templates22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1887 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
1890 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1891 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1892 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1893 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1894 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1895 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1896 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1897 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
1898 struct Templates24
{
1899 typedef TemplateSel
<T1
> Head
;
1900 typedef Templates23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1901 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
1904 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1905 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1906 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1907 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1908 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1909 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1910 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1911 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1912 GTEST_TEMPLATE_ T25
>
1913 struct Templates25
{
1914 typedef TemplateSel
<T1
> Head
;
1915 typedef Templates24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1916 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
1919 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1920 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1921 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1922 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1923 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1924 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1925 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1926 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1927 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
1928 struct Templates26
{
1929 typedef TemplateSel
<T1
> Head
;
1930 typedef Templates25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1931 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
1934 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1935 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1936 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1937 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1938 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1939 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1940 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1941 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1942 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
1943 struct Templates27
{
1944 typedef TemplateSel
<T1
> Head
;
1945 typedef Templates26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1946 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
1949 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1950 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1951 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1952 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1953 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1954 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1955 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1956 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1957 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1958 GTEST_TEMPLATE_ T28
>
1959 struct Templates28
{
1960 typedef TemplateSel
<T1
> Head
;
1961 typedef Templates27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1962 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
1966 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1967 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1968 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1969 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1970 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1971 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1972 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1973 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1974 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1975 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
1976 struct Templates29
{
1977 typedef TemplateSel
<T1
> Head
;
1978 typedef Templates28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1979 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1983 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1984 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1985 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1986 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1987 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1988 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1989 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1990 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1991 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1992 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
1993 struct Templates30
{
1994 typedef TemplateSel
<T1
> Head
;
1995 typedef Templates29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1996 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2000 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2001 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2002 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2003 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2004 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2005 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2006 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2007 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2008 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2009 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2010 GTEST_TEMPLATE_ T31
>
2011 struct Templates31
{
2012 typedef TemplateSel
<T1
> Head
;
2013 typedef Templates30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2014 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2015 T29
, T30
, T31
> Tail
;
2018 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2019 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2020 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2021 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2022 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2023 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2024 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2025 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2026 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2027 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2028 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2029 struct Templates32
{
2030 typedef TemplateSel
<T1
> Head
;
2031 typedef Templates31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2032 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2033 T29
, T30
, T31
, T32
> Tail
;
2036 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2037 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2038 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2039 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2040 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2041 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2042 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2043 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2044 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2045 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2046 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2047 struct Templates33
{
2048 typedef TemplateSel
<T1
> Head
;
2049 typedef Templates32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2050 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2051 T29
, T30
, T31
, T32
, T33
> Tail
;
2054 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2055 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2056 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2057 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2058 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2059 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2060 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2061 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2062 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2063 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2064 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2065 GTEST_TEMPLATE_ T34
>
2066 struct Templates34
{
2067 typedef TemplateSel
<T1
> Head
;
2068 typedef Templates33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2069 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2070 T29
, T30
, T31
, T32
, T33
, T34
> Tail
;
2073 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2074 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2075 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2076 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2077 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2078 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2079 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2080 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2081 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2082 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2083 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2084 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2085 struct Templates35
{
2086 typedef TemplateSel
<T1
> Head
;
2087 typedef Templates34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2088 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2089 T29
, T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
2092 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2093 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2094 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2095 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2096 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2097 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2098 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2099 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2100 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2101 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2102 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2103 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2104 struct Templates36
{
2105 typedef TemplateSel
<T1
> Head
;
2106 typedef Templates35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2107 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2108 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
2111 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2112 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2113 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2114 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2115 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2116 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2117 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2118 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2119 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2120 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2121 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2122 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2123 GTEST_TEMPLATE_ T37
>
2124 struct Templates37
{
2125 typedef TemplateSel
<T1
> Head
;
2126 typedef Templates36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2127 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2128 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
2131 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2132 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2133 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2134 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2135 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2136 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2137 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2138 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2139 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2140 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2141 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2142 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2143 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
2144 struct Templates38
{
2145 typedef TemplateSel
<T1
> Head
;
2146 typedef Templates37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2147 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2148 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
2151 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2152 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2153 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2154 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2155 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2156 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2157 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2158 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2159 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2160 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2161 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2162 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2163 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
2164 struct Templates39
{
2165 typedef TemplateSel
<T1
> Head
;
2166 typedef Templates38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2167 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2168 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
2171 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2172 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2173 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2174 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2175 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2176 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2177 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2178 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2179 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2180 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2181 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2182 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2183 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2184 GTEST_TEMPLATE_ T40
>
2185 struct Templates40
{
2186 typedef TemplateSel
<T1
> Head
;
2187 typedef Templates39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2188 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2189 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
2192 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2193 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2194 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2195 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2196 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2197 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2198 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2199 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2200 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2201 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2202 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2203 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2204 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2205 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
2206 struct Templates41
{
2207 typedef TemplateSel
<T1
> Head
;
2208 typedef Templates40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2209 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2210 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
2213 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2214 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2215 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2216 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2217 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2218 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2219 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2220 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2221 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2222 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2223 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2224 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2225 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2226 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
2227 struct Templates42
{
2228 typedef TemplateSel
<T1
> Head
;
2229 typedef Templates41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2230 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2231 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2235 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2236 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2237 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2238 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2239 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2240 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2241 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2242 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2243 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2244 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2245 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2246 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2247 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2248 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2249 GTEST_TEMPLATE_ T43
>
2250 struct Templates43
{
2251 typedef TemplateSel
<T1
> Head
;
2252 typedef Templates42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2253 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2254 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2258 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2259 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2260 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2261 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2262 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2263 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2264 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2265 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2266 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2267 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2268 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2269 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2270 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2271 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2272 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
2273 struct Templates44
{
2274 typedef TemplateSel
<T1
> Head
;
2275 typedef Templates43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2276 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2277 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2281 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2282 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2283 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2284 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2285 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2286 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2287 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2288 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2289 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2290 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2291 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2292 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2293 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2294 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2295 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
2296 struct Templates45
{
2297 typedef TemplateSel
<T1
> Head
;
2298 typedef Templates44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2299 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2300 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2301 T43
, T44
, T45
> Tail
;
2304 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2305 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2306 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2307 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2308 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2309 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2310 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2311 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2312 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2313 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2314 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2315 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2316 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2317 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2318 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2319 GTEST_TEMPLATE_ T46
>
2320 struct Templates46
{
2321 typedef TemplateSel
<T1
> Head
;
2322 typedef Templates45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2323 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2324 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2325 T43
, T44
, T45
, T46
> Tail
;
2328 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2329 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2330 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2331 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2332 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2333 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2334 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2335 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2336 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2337 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2338 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2339 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2340 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2341 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2342 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2343 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
2344 struct Templates47
{
2345 typedef TemplateSel
<T1
> Head
;
2346 typedef Templates46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2347 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2348 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2349 T43
, T44
, T45
, T46
, T47
> Tail
;
2352 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2353 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2354 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2355 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2356 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2357 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2358 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2359 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2360 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2361 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2362 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2363 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2364 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2365 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2366 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2367 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
2368 struct Templates48
{
2369 typedef TemplateSel
<T1
> Head
;
2370 typedef Templates47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2371 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2372 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2373 T43
, T44
, T45
, T46
, T47
, T48
> Tail
;
2376 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2377 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2378 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2379 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2380 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2381 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2382 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2383 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2384 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2385 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2386 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2387 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2388 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2389 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2390 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2391 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2392 GTEST_TEMPLATE_ T49
>
2393 struct Templates49
{
2394 typedef TemplateSel
<T1
> Head
;
2395 typedef Templates48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2396 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2397 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2398 T43
, T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
2401 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2402 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2403 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2404 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2405 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2406 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2407 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2408 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2409 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2410 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2411 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2412 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2413 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2414 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2415 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2416 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2417 GTEST_TEMPLATE_ T49
, GTEST_TEMPLATE_ T50
>
2418 struct Templates50
{
2419 typedef TemplateSel
<T1
> Head
;
2420 typedef Templates49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2421 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2422 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2423 T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
2427 // We don't want to require the users to write TemplatesN<...> directly,
2428 // as that would require them to count the length. Templates<...> is much
2429 // easier to write, but generates horrible messages when there is a
2430 // compiler error, as gcc insists on printing out each template
2431 // argument, even if it has the default value (this means Templates<list>
2432 // will appear as Templates<list, NoneT, NoneT, ..., NoneT> in the compiler
2435 // Our solution is to combine the best part of the two approaches: a
2436 // user would write Templates<T1, ..., TN>, and Google Test will translate
2437 // that to TemplatesN<T1, ..., TN> internally to make error messages
2438 // readable. The translation is done by the 'type' member of the
2439 // Templates template.
2440 template <GTEST_TEMPLATE_ T1
= NoneT
, GTEST_TEMPLATE_ T2
= NoneT
,
2441 GTEST_TEMPLATE_ T3
= NoneT
, GTEST_TEMPLATE_ T4
= NoneT
,
2442 GTEST_TEMPLATE_ T5
= NoneT
, GTEST_TEMPLATE_ T6
= NoneT
,
2443 GTEST_TEMPLATE_ T7
= NoneT
, GTEST_TEMPLATE_ T8
= NoneT
,
2444 GTEST_TEMPLATE_ T9
= NoneT
, GTEST_TEMPLATE_ T10
= NoneT
,
2445 GTEST_TEMPLATE_ T11
= NoneT
, GTEST_TEMPLATE_ T12
= NoneT
,
2446 GTEST_TEMPLATE_ T13
= NoneT
, GTEST_TEMPLATE_ T14
= NoneT
,
2447 GTEST_TEMPLATE_ T15
= NoneT
, GTEST_TEMPLATE_ T16
= NoneT
,
2448 GTEST_TEMPLATE_ T17
= NoneT
, GTEST_TEMPLATE_ T18
= NoneT
,
2449 GTEST_TEMPLATE_ T19
= NoneT
, GTEST_TEMPLATE_ T20
= NoneT
,
2450 GTEST_TEMPLATE_ T21
= NoneT
, GTEST_TEMPLATE_ T22
= NoneT
,
2451 GTEST_TEMPLATE_ T23
= NoneT
, GTEST_TEMPLATE_ T24
= NoneT
,
2452 GTEST_TEMPLATE_ T25
= NoneT
, GTEST_TEMPLATE_ T26
= NoneT
,
2453 GTEST_TEMPLATE_ T27
= NoneT
, GTEST_TEMPLATE_ T28
= NoneT
,
2454 GTEST_TEMPLATE_ T29
= NoneT
, GTEST_TEMPLATE_ T30
= NoneT
,
2455 GTEST_TEMPLATE_ T31
= NoneT
, GTEST_TEMPLATE_ T32
= NoneT
,
2456 GTEST_TEMPLATE_ T33
= NoneT
, GTEST_TEMPLATE_ T34
= NoneT
,
2457 GTEST_TEMPLATE_ T35
= NoneT
, GTEST_TEMPLATE_ T36
= NoneT
,
2458 GTEST_TEMPLATE_ T37
= NoneT
, GTEST_TEMPLATE_ T38
= NoneT
,
2459 GTEST_TEMPLATE_ T39
= NoneT
, GTEST_TEMPLATE_ T40
= NoneT
,
2460 GTEST_TEMPLATE_ T41
= NoneT
, GTEST_TEMPLATE_ T42
= NoneT
,
2461 GTEST_TEMPLATE_ T43
= NoneT
, GTEST_TEMPLATE_ T44
= NoneT
,
2462 GTEST_TEMPLATE_ T45
= NoneT
, GTEST_TEMPLATE_ T46
= NoneT
,
2463 GTEST_TEMPLATE_ T47
= NoneT
, GTEST_TEMPLATE_ T48
= NoneT
,
2464 GTEST_TEMPLATE_ T49
= NoneT
, GTEST_TEMPLATE_ T50
= NoneT
>
2466 typedef Templates50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2467 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2468 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2469 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
2473 struct Templates
<NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2474 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2475 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2476 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2477 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2479 typedef Templates0 type
;
2481 template <GTEST_TEMPLATE_ T1
>
2482 struct Templates
<T1
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2483 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2484 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2485 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2486 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2488 typedef Templates1
<T1
> type
;
2490 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
2491 struct Templates
<T1
, T2
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2492 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2493 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2494 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2495 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2497 typedef Templates2
<T1
, T2
> type
;
2499 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
2500 struct Templates
<T1
, T2
, T3
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2501 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2502 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2503 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2504 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2505 typedef Templates3
<T1
, T2
, T3
> type
;
2507 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2509 struct Templates
<T1
, T2
, T3
, T4
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2510 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2511 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2512 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2513 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2514 typedef Templates4
<T1
, T2
, T3
, T4
> type
;
2516 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2517 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
2518 struct Templates
<T1
, T2
, T3
, T4
, T5
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2519 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2520 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2521 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2522 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2523 typedef Templates5
<T1
, T2
, T3
, T4
, T5
> type
;
2525 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2526 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
2527 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2528 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2529 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2530 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2531 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2532 typedef Templates6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
2534 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2535 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2537 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2538 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2539 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2540 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2541 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2542 typedef Templates7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
2544 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2545 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2546 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
2547 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, NoneT
, NoneT
, NoneT
, NoneT
,
2548 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2549 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2550 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2551 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2552 typedef Templates8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
2554 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2555 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2556 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
2557 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, NoneT
, NoneT
, NoneT
,
2558 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2559 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2560 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2561 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2562 typedef Templates9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
2564 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2565 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2566 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2567 GTEST_TEMPLATE_ T10
>
2568 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, NoneT
, NoneT
, NoneT
,
2569 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2570 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2571 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2572 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2573 typedef Templates10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
2575 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2576 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2577 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2578 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
2579 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, NoneT
, NoneT
,
2580 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2581 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2582 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2583 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2584 typedef Templates11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
2586 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2587 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2588 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2589 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
2590 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, NoneT
,
2591 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2592 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2593 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2594 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2595 typedef Templates12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> type
;
2597 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2598 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2599 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2600 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2601 GTEST_TEMPLATE_ T13
>
2602 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, NoneT
,
2603 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2604 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2605 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2606 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2607 typedef Templates13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
2610 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2611 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2612 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2613 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2614 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
2615 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2616 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2617 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2618 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2619 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2620 typedef Templates14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2623 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2624 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2625 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2626 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2627 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
2628 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2629 T15
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2630 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2631 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2632 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2633 typedef Templates15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2636 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2637 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2638 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2639 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2640 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2641 GTEST_TEMPLATE_ T16
>
2642 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2643 T15
, T16
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2644 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2645 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2646 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2647 typedef Templates16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2648 T14
, T15
, T16
> type
;
2650 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2651 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2652 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2653 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2654 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2655 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
2656 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2657 T15
, T16
, T17
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2658 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2659 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2660 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2661 typedef Templates17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2662 T14
, T15
, T16
, T17
> type
;
2664 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2665 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2666 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2667 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2668 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2669 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
2670 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2671 T15
, T16
, T17
, T18
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2672 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2673 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2674 NoneT
, NoneT
, NoneT
, NoneT
> {
2675 typedef Templates18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2676 T14
, T15
, T16
, T17
, T18
> type
;
2678 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2679 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2680 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2681 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2682 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2683 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2684 GTEST_TEMPLATE_ T19
>
2685 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2686 T15
, T16
, T17
, T18
, T19
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2687 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2688 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2689 NoneT
, NoneT
, NoneT
, NoneT
> {
2690 typedef Templates19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2691 T14
, T15
, T16
, T17
, T18
, T19
> type
;
2693 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2694 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2695 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2696 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2697 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2698 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2699 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
2700 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2701 T15
, T16
, T17
, T18
, T19
, T20
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2702 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2703 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2704 NoneT
, NoneT
, NoneT
, NoneT
> {
2705 typedef Templates20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2706 T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
2708 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2709 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2710 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2711 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2712 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2713 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2714 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
2715 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2716 T15
, T16
, T17
, T18
, T19
, T20
, T21
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2717 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2718 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2719 NoneT
, NoneT
, NoneT
, NoneT
> {
2720 typedef Templates21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2721 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
2723 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2724 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2725 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2726 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2727 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2728 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2729 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2730 GTEST_TEMPLATE_ T22
>
2731 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2732 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2733 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2734 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2735 NoneT
, NoneT
, NoneT
> {
2736 typedef Templates22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2737 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
2739 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2740 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2741 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2742 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2743 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2744 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2745 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2746 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
2747 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2748 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, NoneT
, NoneT
, NoneT
, NoneT
,
2749 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2750 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2751 NoneT
, NoneT
, NoneT
> {
2752 typedef Templates23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2753 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
2755 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2756 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2757 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2758 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2759 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2760 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2761 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2762 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
2763 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2764 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, NoneT
, NoneT
, NoneT
,
2765 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2766 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2767 NoneT
, NoneT
, NoneT
> {
2768 typedef Templates24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2769 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
2771 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2772 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2773 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2774 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2775 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2776 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2777 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2778 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2779 GTEST_TEMPLATE_ T25
>
2780 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2781 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, NoneT
, NoneT
, NoneT
,
2782 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2783 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2785 typedef Templates25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2786 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
2788 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2789 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2790 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2791 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2792 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2793 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2794 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2795 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2796 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
2797 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2798 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, NoneT
, NoneT
,
2799 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2800 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2802 typedef Templates26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2803 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> type
;
2805 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2806 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2807 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2808 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2809 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2810 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2811 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2812 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2813 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
2814 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2815 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, NoneT
,
2816 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2817 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2819 typedef Templates27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2820 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
2823 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2824 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2825 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2826 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2827 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2828 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2829 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2830 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2831 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2832 GTEST_TEMPLATE_ T28
>
2833 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2834 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2835 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2836 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2838 typedef Templates28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2839 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2842 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2843 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2844 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2845 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2846 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2847 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2848 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2849 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2850 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2851 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
2852 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2853 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2854 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2855 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2857 typedef Templates29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2858 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2861 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2862 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2863 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2864 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2865 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2866 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2867 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2868 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2869 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2870 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
2871 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2872 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2873 T30
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2874 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2875 typedef Templates30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2876 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2877 T28
, T29
, T30
> type
;
2879 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2880 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2881 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2882 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2883 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2884 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2885 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2886 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2887 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2888 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2889 GTEST_TEMPLATE_ T31
>
2890 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2891 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2892 T30
, T31
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2893 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2894 typedef Templates31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2895 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2896 T28
, T29
, T30
, T31
> type
;
2898 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2899 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2900 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2901 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2902 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2903 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2904 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2905 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2906 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2907 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2908 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2909 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2910 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2911 T30
, T31
, T32
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2912 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2913 typedef Templates32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2914 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2915 T28
, T29
, T30
, T31
, T32
> type
;
2917 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2918 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2919 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2920 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2921 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2922 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2923 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2924 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2925 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2926 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2927 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2928 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2929 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2930 T30
, T31
, T32
, T33
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2931 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2932 typedef Templates33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2933 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2934 T28
, T29
, T30
, T31
, T32
, T33
> type
;
2936 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2937 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2938 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2939 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2940 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2941 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2942 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2943 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2944 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2945 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2946 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2947 GTEST_TEMPLATE_ T34
>
2948 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2949 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2950 T30
, T31
, T32
, T33
, T34
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2951 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2952 typedef Templates34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2953 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2954 T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
2956 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2957 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2958 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2959 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2960 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2961 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2962 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2963 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2964 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2965 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2966 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2967 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2968 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2969 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2970 T30
, T31
, T32
, T33
, T34
, T35
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2971 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2972 typedef Templates35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2973 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2974 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
2976 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2977 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2978 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2979 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2980 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2981 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2982 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2983 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2984 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2985 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2986 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2987 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2988 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2989 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2990 T30
, T31
, T32
, T33
, T34
, T35
, T36
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2991 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2992 typedef Templates36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2993 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2994 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
2996 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2997 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2998 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2999 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3000 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3001 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3002 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3003 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3004 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3005 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3006 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3007 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3008 GTEST_TEMPLATE_ T37
>
3009 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3010 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3011 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
3012 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3013 typedef Templates37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3014 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3015 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
3017 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3018 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3019 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3020 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3021 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3022 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3023 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3024 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3025 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3026 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3027 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3028 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3029 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
3030 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3031 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3032 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, NoneT
, NoneT
, NoneT
, NoneT
,
3033 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3034 typedef Templates38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3035 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3036 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
3038 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3039 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3040 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3041 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3042 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3043 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3044 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3045 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3046 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3047 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3048 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3049 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3050 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
3051 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3052 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3053 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, NoneT
, NoneT
, NoneT
,
3054 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3055 typedef Templates39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3056 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3057 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
3059 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3060 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3061 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3062 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3063 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3064 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3065 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3066 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3067 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3068 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3069 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3070 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3071 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3072 GTEST_TEMPLATE_ T40
>
3073 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3074 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3075 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, NoneT
, NoneT
, NoneT
,
3076 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3077 typedef Templates40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3078 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3079 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> type
;
3081 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3082 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3083 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3084 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3085 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3086 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3087 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3088 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3089 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3090 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3091 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3092 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3093 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3094 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
3095 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3096 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3097 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, NoneT
, NoneT
,
3098 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3099 typedef Templates41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3100 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3101 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3104 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3105 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3106 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3107 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3108 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3109 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3110 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3111 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3112 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3113 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3114 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3115 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3116 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3117 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
3118 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3119 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3120 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, NoneT
,
3121 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3122 typedef Templates42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3123 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3124 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3127 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3128 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3129 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3130 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3131 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3132 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3133 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3134 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3135 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3136 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3137 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3138 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3139 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3140 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3141 GTEST_TEMPLATE_ T43
>
3142 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3143 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3144 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3145 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3146 typedef Templates43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3147 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3148 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3151 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3152 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3153 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3154 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3155 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3156 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3157 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3158 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3159 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3160 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3161 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3162 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3163 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3164 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3165 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
3166 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3167 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3168 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3169 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3170 typedef Templates44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3171 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3172 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3173 T42
, T43
, T44
> type
;
3175 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3176 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3177 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3178 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3179 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3180 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3181 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3182 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3183 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3184 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3185 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3186 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3187 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3188 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3189 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
3190 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3191 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3192 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3193 T45
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3194 typedef Templates45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3195 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3196 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3197 T42
, T43
, T44
, T45
> type
;
3199 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3200 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3201 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3202 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3203 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3204 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3205 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3206 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3207 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3208 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3209 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3210 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3211 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3212 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3213 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3214 GTEST_TEMPLATE_ T46
>
3215 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3216 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3217 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3218 T45
, T46
, NoneT
, NoneT
, NoneT
, NoneT
> {
3219 typedef Templates46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3220 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3221 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3222 T42
, T43
, T44
, T45
, T46
> type
;
3224 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3225 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3226 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3227 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3228 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3229 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3230 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3231 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3232 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3233 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3234 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3235 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3236 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3237 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3238 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3239 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
3240 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3241 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3242 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3243 T45
, T46
, T47
, NoneT
, NoneT
, NoneT
> {
3244 typedef Templates47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3245 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3246 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3247 T42
, T43
, T44
, T45
, T46
, T47
> type
;
3249 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3250 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3251 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3252 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3253 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3254 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3255 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3256 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3257 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3258 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3259 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3260 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3261 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3262 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3263 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3264 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
3265 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3266 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3267 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3268 T45
, T46
, T47
, T48
, NoneT
, NoneT
> {
3269 typedef Templates48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3270 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3271 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3272 T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
3274 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3275 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3276 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3277 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3278 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3279 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3280 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3281 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3282 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3283 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3284 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3285 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3286 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3287 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3288 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3289 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
3290 GTEST_TEMPLATE_ T49
>
3291 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3292 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3293 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3294 T45
, T46
, T47
, T48
, T49
, NoneT
> {
3295 typedef Templates49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3296 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3297 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3298 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
3301 // The TypeList template makes it possible to use either a single type
3302 // or a Types<...> list in TYPED_TEST_SUITE() and
3303 // INSTANTIATE_TYPED_TEST_SUITE_P().
3305 template <typename T
>
3307 typedef Types1
<T
> type
;
3310 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
3311 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
3312 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
3313 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
3314 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
3315 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
3316 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
3317 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
3318 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
3319 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
3320 struct TypeList
<Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3321 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
3322 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3323 T44
, T45
, T46
, T47
, T48
, T49
, T50
> > {
3324 typedef typename Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
3325 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
3326 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3327 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
>::type type
;
3330 #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
3332 } // namespace internal
3333 } // namespace testing
3335 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_