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 // Author: wan@google.com (Zhanyong Wan)
36 // Type utilities needed for implementing typed and type-parameterized
37 // tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND!
39 // Currently we support at most 50 types in a list, and at most 50
40 // type-parameterized tests in one type-parameterized test case.
41 // Please contact googletestframework@googlegroups.com if you need
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"
48 #include "gtest/internal/gtest-string.h"
50 // #ifdef __GNUC__ is too general here. It is possible to use gcc without using
51 // libstdc++ (which is where cxxabi.h comes from).
54 # elif defined(__HP_aCC)
55 # include <acxx_demangle.h>
56 # endif // __GLIBCXX__
61 // GetTypeName<T>() returns a human-readable name of type T.
62 // NB: This function is also used in Google Mock, so don't move it inside of
63 // the typed-test-only section below.
65 String
GetTypeName() {
68 const char* const name
= typeid(T
).name();
69 # if defined(__GLIBCXX__) || defined(__HP_aCC)
71 // gcc's implementation of typeid(T).name() mangles the type name,
72 // so we have to demangle it.
74 using abi::__cxa_demangle
;
75 # endif // __GLIBCXX__
76 char* const readable_name
= __cxa_demangle(name
, 0, 0, &status
);
77 const String
name_str(status
== 0 ? readable_name
: name
);
82 # endif // __GLIBCXX__ || __HP_aCC
88 # endif // GTEST_HAS_RTTI
91 #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
93 // AssertyTypeEq<T1, T2>::type is defined iff T1 and T2 are the same
94 // type. This can be used as a compile-time assertion to ensure that
95 // two types are equal.
97 template <typename T1
, typename T2
>
100 template <typename T
>
101 struct AssertTypeEq
<T
, T
> {
105 // A unique type used as the default value for the arguments of class
106 // template Types. This allows us to simulate variadic templates
107 // (e.g. Types<int>, Type<int, double>, and etc), which C++ doesn't
111 // The following family of struct and struct templates are used to
112 // represent type lists. In particular, TypesN<T1, T2, ..., TN>
113 // represents a type list with N types (T1, T2, ..., and TN) in it.
114 // Except for Types0, every struct in the family has two member types:
115 // Head for the first type in the list, and Tail for the rest of the
118 // The empty type list.
121 // Type lists of length 1, 2, 3, and so on.
123 template <typename T1
>
128 template <typename T1
, typename T2
>
131 typedef Types1
<T2
> Tail
;
134 template <typename T1
, typename T2
, typename T3
>
137 typedef Types2
<T2
, T3
> Tail
;
140 template <typename T1
, typename T2
, typename T3
, typename T4
>
143 typedef Types3
<T2
, T3
, T4
> Tail
;
146 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
149 typedef Types4
<T2
, T3
, T4
, T5
> Tail
;
152 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
156 typedef Types5
<T2
, T3
, T4
, T5
, T6
> Tail
;
159 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
160 typename T6
, typename T7
>
163 typedef Types6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
166 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
167 typename T6
, typename T7
, typename T8
>
170 typedef Types7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
173 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
174 typename T6
, typename T7
, typename T8
, typename T9
>
177 typedef Types8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
180 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
181 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
184 typedef Types9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
187 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
188 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
192 typedef Types10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
195 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
196 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
197 typename T11
, typename T12
>
200 typedef Types11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
203 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
204 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
205 typename T11
, typename T12
, typename T13
>
208 typedef Types12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
211 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
212 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
213 typename T11
, typename T12
, typename T13
, typename T14
>
216 typedef Types13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
> Tail
;
219 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
220 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
221 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
224 typedef Types14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
228 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
229 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
230 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
234 typedef Types15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
238 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
239 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
240 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
241 typename T16
, typename T17
>
244 typedef Types16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
248 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
249 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
250 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
251 typename T16
, typename T17
, typename T18
>
254 typedef Types17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
258 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
259 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
260 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
261 typename T16
, typename T17
, typename T18
, typename T19
>
264 typedef Types18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
265 T16
, T17
, T18
, T19
> Tail
;
268 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
269 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
270 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
271 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
274 typedef Types19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
275 T16
, T17
, T18
, T19
, T20
> Tail
;
278 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
279 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
280 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
281 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
285 typedef Types20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
286 T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
289 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
290 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
291 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
292 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
293 typename T21
, typename T22
>
296 typedef Types21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
297 T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
300 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
301 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
302 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
303 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
304 typename T21
, typename T22
, typename T23
>
307 typedef Types22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
308 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
311 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
312 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
313 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
314 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
315 typename T21
, typename T22
, typename T23
, typename T24
>
318 typedef Types23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
319 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
322 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
323 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
324 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
325 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
326 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
329 typedef Types24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
330 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
333 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
334 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
335 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
336 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
337 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
341 typedef Types25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
342 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
345 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
346 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
347 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
348 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
349 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
350 typename T26
, typename T27
>
353 typedef Types26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
354 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
357 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
358 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
359 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
360 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
361 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
362 typename T26
, typename T27
, typename T28
>
365 typedef Types27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
366 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
> Tail
;
369 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
370 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
371 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
372 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
373 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
374 typename T26
, typename T27
, typename T28
, typename T29
>
377 typedef Types28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
378 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
382 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
383 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
384 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
385 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
386 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
387 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
390 typedef Types29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
391 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
395 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
396 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
397 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
398 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
399 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
400 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
404 typedef Types30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
405 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
409 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
410 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
411 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
412 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
413 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
414 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
415 typename T31
, typename T32
>
418 typedef Types31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
419 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
423 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
424 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
425 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
426 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
427 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
428 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
429 typename T31
, typename T32
, typename T33
>
432 typedef Types32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
433 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
434 T30
, T31
, T32
, T33
> Tail
;
437 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
438 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
439 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
440 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
441 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
442 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
443 typename T31
, typename T32
, typename T33
, typename T34
>
446 typedef Types33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
447 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
448 T30
, T31
, T32
, T33
, T34
> Tail
;
451 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
452 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
453 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
454 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
455 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
456 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
457 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
460 typedef Types34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
461 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
462 T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
465 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
466 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
467 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
468 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
469 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
470 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
471 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
475 typedef Types35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
476 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
477 T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
480 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
481 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
482 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
483 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
484 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
485 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
486 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
487 typename T36
, typename T37
>
490 typedef Types36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
491 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
492 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
495 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
496 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
497 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
498 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
499 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
500 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
501 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
502 typename T36
, typename T37
, typename T38
>
505 typedef Types37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
506 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
507 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
510 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
511 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
512 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
513 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
514 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
515 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
516 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
517 typename T36
, typename T37
, typename T38
, typename T39
>
520 typedef Types38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
521 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
522 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
525 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
526 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
527 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
528 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
529 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
530 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
531 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
532 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
535 typedef Types39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
536 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
537 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
540 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
541 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
542 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
543 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
544 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
545 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
546 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
547 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
551 typedef Types40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
552 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
553 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
556 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
557 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
558 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
559 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
560 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
561 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
562 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
563 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
564 typename T41
, typename T42
>
567 typedef Types41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
568 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
569 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
> Tail
;
572 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
573 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
574 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
575 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
576 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
577 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
578 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
579 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
580 typename T41
, typename T42
, typename T43
>
583 typedef Types42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
584 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
585 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
589 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
590 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
591 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
592 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
593 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
594 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
595 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
596 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
597 typename T41
, typename T42
, typename T43
, typename T44
>
600 typedef Types43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
601 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
602 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
606 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
607 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
608 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
609 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
610 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
611 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
612 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
613 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
614 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
617 typedef Types44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
618 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
619 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
623 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
624 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
625 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
626 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
627 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
628 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
629 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
630 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
631 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
635 typedef Types45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
636 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
637 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
641 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
642 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
643 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
644 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
645 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
646 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
647 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
648 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
649 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
650 typename T46
, typename T47
>
653 typedef Types46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
654 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
655 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
656 T44
, T45
, T46
, T47
> Tail
;
659 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
660 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
661 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
662 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
663 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
664 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
665 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
666 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
667 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
668 typename T46
, typename T47
, typename T48
>
671 typedef Types47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
672 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
673 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
674 T44
, T45
, T46
, T47
, T48
> Tail
;
677 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
678 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
679 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
680 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
681 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
682 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
683 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
684 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
685 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
686 typename T46
, typename T47
, typename T48
, typename T49
>
689 typedef Types48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
690 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
691 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
692 T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
695 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
696 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
697 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
698 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
699 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
700 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
701 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
702 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
703 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
704 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
707 typedef Types49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
708 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
709 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
710 T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
714 } // namespace internal
716 // We don't want to require the users to write TypesN<...> directly,
717 // as that would require them to count the length. Types<...> is much
718 // easier to write, but generates horrible messages when there is a
719 // compiler error, as gcc insists on printing out each template
720 // argument, even if it has the default value (this means Types<int>
721 // will appear as Types<int, None, None, ..., None> in the compiler
724 // Our solution is to combine the best part of the two approaches: a
725 // user would write Types<T1, ..., TN>, and Google Test will translate
726 // that to TypesN<T1, ..., TN> internally to make error messages
727 // readable. The translation is done by the 'type' member of the
729 template <typename T1
= internal::None
, typename T2
= internal::None
,
730 typename T3
= internal::None
, typename T4
= internal::None
,
731 typename T5
= internal::None
, typename T6
= internal::None
,
732 typename T7
= internal::None
, typename T8
= internal::None
,
733 typename T9
= internal::None
, typename T10
= internal::None
,
734 typename T11
= internal::None
, typename T12
= internal::None
,
735 typename T13
= internal::None
, typename T14
= internal::None
,
736 typename T15
= internal::None
, typename T16
= internal::None
,
737 typename T17
= internal::None
, typename T18
= internal::None
,
738 typename T19
= internal::None
, typename T20
= internal::None
,
739 typename T21
= internal::None
, typename T22
= internal::None
,
740 typename T23
= internal::None
, typename T24
= internal::None
,
741 typename T25
= internal::None
, typename T26
= internal::None
,
742 typename T27
= internal::None
, typename T28
= internal::None
,
743 typename T29
= internal::None
, typename T30
= internal::None
,
744 typename T31
= internal::None
, typename T32
= internal::None
,
745 typename T33
= internal::None
, typename T34
= internal::None
,
746 typename T35
= internal::None
, typename T36
= internal::None
,
747 typename T37
= internal::None
, typename T38
= internal::None
,
748 typename T39
= internal::None
, typename T40
= internal::None
,
749 typename T41
= internal::None
, typename T42
= internal::None
,
750 typename T43
= internal::None
, typename T44
= internal::None
,
751 typename T45
= internal::None
, typename T46
= internal::None
,
752 typename T47
= internal::None
, typename T48
= internal::None
,
753 typename T49
= internal::None
, typename T50
= internal::None
>
755 typedef internal::Types50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
756 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
757 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
758 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
762 struct Types
<internal::None
, internal::None
, internal::None
, internal::None
,
763 internal::None
, internal::None
, internal::None
, internal::None
,
764 internal::None
, internal::None
, internal::None
, internal::None
,
765 internal::None
, internal::None
, internal::None
, internal::None
,
766 internal::None
, internal::None
, internal::None
, internal::None
,
767 internal::None
, internal::None
, internal::None
, internal::None
,
768 internal::None
, internal::None
, internal::None
, internal::None
,
769 internal::None
, internal::None
, internal::None
, internal::None
,
770 internal::None
, internal::None
, internal::None
, internal::None
,
771 internal::None
, internal::None
, internal::None
, internal::None
,
772 internal::None
, internal::None
, internal::None
, internal::None
,
773 internal::None
, internal::None
, internal::None
, internal::None
,
774 internal::None
, internal::None
> {
775 typedef internal::Types0 type
;
777 template <typename T1
>
778 struct Types
<T1
, internal::None
, internal::None
, internal::None
,
779 internal::None
, internal::None
, internal::None
, internal::None
,
780 internal::None
, internal::None
, internal::None
, internal::None
,
781 internal::None
, internal::None
, internal::None
, internal::None
,
782 internal::None
, internal::None
, internal::None
, internal::None
,
783 internal::None
, internal::None
, internal::None
, internal::None
,
784 internal::None
, internal::None
, internal::None
, internal::None
,
785 internal::None
, internal::None
, internal::None
, internal::None
,
786 internal::None
, internal::None
, internal::None
, internal::None
,
787 internal::None
, internal::None
, internal::None
, internal::None
,
788 internal::None
, internal::None
, internal::None
, internal::None
,
789 internal::None
, internal::None
, internal::None
, internal::None
,
790 internal::None
, internal::None
> {
791 typedef internal::Types1
<T1
> type
;
793 template <typename T1
, typename T2
>
794 struct Types
<T1
, T2
, internal::None
, internal::None
, internal::None
,
795 internal::None
, internal::None
, internal::None
, internal::None
,
796 internal::None
, internal::None
, internal::None
, internal::None
,
797 internal::None
, internal::None
, internal::None
, internal::None
,
798 internal::None
, internal::None
, internal::None
, internal::None
,
799 internal::None
, internal::None
, internal::None
, internal::None
,
800 internal::None
, internal::None
, internal::None
, internal::None
,
801 internal::None
, internal::None
, internal::None
, internal::None
,
802 internal::None
, internal::None
, internal::None
, internal::None
,
803 internal::None
, internal::None
, internal::None
, internal::None
,
804 internal::None
, internal::None
, internal::None
, internal::None
,
805 internal::None
, internal::None
, internal::None
, internal::None
,
807 typedef internal::Types2
<T1
, T2
> type
;
809 template <typename T1
, typename T2
, typename T3
>
810 struct Types
<T1
, T2
, T3
, internal::None
, internal::None
, internal::None
,
811 internal::None
, internal::None
, internal::None
, internal::None
,
812 internal::None
, internal::None
, internal::None
, internal::None
,
813 internal::None
, internal::None
, internal::None
, internal::None
,
814 internal::None
, internal::None
, internal::None
, internal::None
,
815 internal::None
, internal::None
, internal::None
, internal::None
,
816 internal::None
, internal::None
, internal::None
, internal::None
,
817 internal::None
, internal::None
, internal::None
, internal::None
,
818 internal::None
, internal::None
, internal::None
, internal::None
,
819 internal::None
, internal::None
, internal::None
, internal::None
,
820 internal::None
, internal::None
, internal::None
, internal::None
,
821 internal::None
, internal::None
, internal::None
, internal::None
> {
822 typedef internal::Types3
<T1
, T2
, T3
> type
;
824 template <typename T1
, typename T2
, typename T3
, typename T4
>
825 struct Types
<T1
, T2
, T3
, T4
, internal::None
, internal::None
, internal::None
,
826 internal::None
, internal::None
, internal::None
, internal::None
,
827 internal::None
, internal::None
, internal::None
, internal::None
,
828 internal::None
, internal::None
, internal::None
, internal::None
,
829 internal::None
, internal::None
, internal::None
, internal::None
,
830 internal::None
, internal::None
, internal::None
, internal::None
,
831 internal::None
, internal::None
, internal::None
, internal::None
,
832 internal::None
, internal::None
, internal::None
, internal::None
,
833 internal::None
, internal::None
, internal::None
, internal::None
,
834 internal::None
, internal::None
, internal::None
, internal::None
,
835 internal::None
, internal::None
, internal::None
, internal::None
,
836 internal::None
, internal::None
, internal::None
> {
837 typedef internal::Types4
<T1
, T2
, T3
, T4
> type
;
839 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
840 struct Types
<T1
, T2
, T3
, T4
, T5
, internal::None
, internal::None
,
841 internal::None
, internal::None
, internal::None
, internal::None
,
842 internal::None
, internal::None
, internal::None
, internal::None
,
843 internal::None
, internal::None
, internal::None
, internal::None
,
844 internal::None
, internal::None
, internal::None
, internal::None
,
845 internal::None
, internal::None
, internal::None
, internal::None
,
846 internal::None
, internal::None
, internal::None
, internal::None
,
847 internal::None
, internal::None
, internal::None
, internal::None
,
848 internal::None
, internal::None
, internal::None
, internal::None
,
849 internal::None
, internal::None
, internal::None
, internal::None
,
850 internal::None
, internal::None
, internal::None
, internal::None
,
851 internal::None
, internal::None
, internal::None
> {
852 typedef internal::Types5
<T1
, T2
, T3
, T4
, T5
> type
;
854 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
856 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, internal::None
, internal::None
,
857 internal::None
, internal::None
, internal::None
, internal::None
,
858 internal::None
, internal::None
, internal::None
, internal::None
,
859 internal::None
, internal::None
, internal::None
, internal::None
,
860 internal::None
, internal::None
, internal::None
, internal::None
,
861 internal::None
, internal::None
, internal::None
, internal::None
,
862 internal::None
, internal::None
, internal::None
, internal::None
,
863 internal::None
, internal::None
, internal::None
, internal::None
,
864 internal::None
, internal::None
, internal::None
, internal::None
,
865 internal::None
, internal::None
, internal::None
, internal::None
,
866 internal::None
, internal::None
, internal::None
, internal::None
,
867 internal::None
, internal::None
> {
868 typedef internal::Types6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
870 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
871 typename T6
, typename T7
>
872 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, internal::None
, internal::None
,
873 internal::None
, internal::None
, internal::None
, internal::None
,
874 internal::None
, internal::None
, internal::None
, internal::None
,
875 internal::None
, internal::None
, internal::None
, internal::None
,
876 internal::None
, internal::None
, internal::None
, internal::None
,
877 internal::None
, internal::None
, internal::None
, internal::None
,
878 internal::None
, internal::None
, internal::None
, internal::None
,
879 internal::None
, internal::None
, internal::None
, internal::None
,
880 internal::None
, internal::None
, internal::None
, internal::None
,
881 internal::None
, internal::None
, internal::None
, internal::None
,
882 internal::None
, internal::None
, internal::None
, internal::None
,
884 typedef internal::Types7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
886 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
887 typename T6
, typename T7
, typename T8
>
888 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, internal::None
, internal::None
,
889 internal::None
, internal::None
, internal::None
, internal::None
,
890 internal::None
, internal::None
, internal::None
, internal::None
,
891 internal::None
, internal::None
, internal::None
, internal::None
,
892 internal::None
, internal::None
, internal::None
, internal::None
,
893 internal::None
, internal::None
, internal::None
, internal::None
,
894 internal::None
, internal::None
, internal::None
, internal::None
,
895 internal::None
, internal::None
, internal::None
, internal::None
,
896 internal::None
, internal::None
, internal::None
, internal::None
,
897 internal::None
, internal::None
, internal::None
, internal::None
,
898 internal::None
, internal::None
, internal::None
, internal::None
> {
899 typedef internal::Types8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
901 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
902 typename T6
, typename T7
, typename T8
, typename T9
>
903 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, internal::None
,
904 internal::None
, internal::None
, internal::None
, internal::None
,
905 internal::None
, internal::None
, internal::None
, internal::None
,
906 internal::None
, internal::None
, internal::None
, internal::None
,
907 internal::None
, internal::None
, internal::None
, internal::None
,
908 internal::None
, internal::None
, internal::None
, internal::None
,
909 internal::None
, internal::None
, internal::None
, internal::None
,
910 internal::None
, internal::None
, internal::None
, internal::None
,
911 internal::None
, internal::None
, internal::None
, internal::None
,
912 internal::None
, internal::None
, internal::None
, internal::None
,
913 internal::None
, internal::None
, internal::None
, internal::None
> {
914 typedef internal::Types9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
916 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
917 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
918 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, internal::None
,
919 internal::None
, internal::None
, internal::None
, internal::None
,
920 internal::None
, internal::None
, internal::None
, internal::None
,
921 internal::None
, internal::None
, internal::None
, internal::None
,
922 internal::None
, internal::None
, internal::None
, internal::None
,
923 internal::None
, internal::None
, internal::None
, internal::None
,
924 internal::None
, internal::None
, internal::None
, internal::None
,
925 internal::None
, internal::None
, internal::None
, internal::None
,
926 internal::None
, internal::None
, internal::None
, internal::None
,
927 internal::None
, internal::None
, internal::None
, internal::None
,
928 internal::None
, internal::None
, internal::None
> {
929 typedef internal::Types10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
931 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
932 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
934 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, internal::None
,
935 internal::None
, internal::None
, internal::None
, internal::None
,
936 internal::None
, internal::None
, internal::None
, internal::None
,
937 internal::None
, internal::None
, internal::None
, internal::None
,
938 internal::None
, internal::None
, internal::None
, internal::None
,
939 internal::None
, internal::None
, internal::None
, internal::None
,
940 internal::None
, internal::None
, internal::None
, internal::None
,
941 internal::None
, internal::None
, internal::None
, internal::None
,
942 internal::None
, internal::None
, internal::None
, internal::None
,
943 internal::None
, internal::None
, internal::None
, internal::None
,
944 internal::None
, internal::None
> {
945 typedef internal::Types11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
947 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
948 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
949 typename T11
, typename T12
>
950 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, internal::None
,
951 internal::None
, internal::None
, internal::None
, internal::None
,
952 internal::None
, internal::None
, internal::None
, internal::None
,
953 internal::None
, internal::None
, internal::None
, internal::None
,
954 internal::None
, internal::None
, internal::None
, internal::None
,
955 internal::None
, internal::None
, internal::None
, internal::None
,
956 internal::None
, internal::None
, internal::None
, internal::None
,
957 internal::None
, internal::None
, internal::None
, internal::None
,
958 internal::None
, internal::None
, internal::None
, internal::None
,
959 internal::None
, internal::None
, internal::None
, internal::None
,
961 typedef internal::Types12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
,
964 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
965 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
966 typename T11
, typename T12
, typename T13
>
967 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
968 internal::None
, internal::None
, internal::None
, internal::None
,
969 internal::None
, internal::None
, internal::None
, internal::None
,
970 internal::None
, internal::None
, internal::None
, internal::None
,
971 internal::None
, internal::None
, internal::None
, internal::None
,
972 internal::None
, internal::None
, internal::None
, internal::None
,
973 internal::None
, internal::None
, internal::None
, internal::None
,
974 internal::None
, internal::None
, internal::None
, internal::None
,
975 internal::None
, internal::None
, internal::None
, internal::None
,
976 internal::None
, internal::None
, internal::None
, internal::None
,
978 typedef internal::Types13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
981 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
982 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
983 typename T11
, typename T12
, typename T13
, typename T14
>
984 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
985 internal::None
, internal::None
, internal::None
, internal::None
,
986 internal::None
, internal::None
, internal::None
, internal::None
,
987 internal::None
, internal::None
, internal::None
, internal::None
,
988 internal::None
, internal::None
, internal::None
, internal::None
,
989 internal::None
, internal::None
, internal::None
, internal::None
,
990 internal::None
, internal::None
, internal::None
, internal::None
,
991 internal::None
, internal::None
, internal::None
, internal::None
,
992 internal::None
, internal::None
, internal::None
, internal::None
,
993 internal::None
, internal::None
, internal::None
, internal::None
> {
994 typedef internal::Types14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
997 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
998 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
999 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
1000 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1001 internal::None
, internal::None
, internal::None
, internal::None
,
1002 internal::None
, internal::None
, internal::None
, internal::None
,
1003 internal::None
, internal::None
, internal::None
, internal::None
,
1004 internal::None
, internal::None
, internal::None
, internal::None
,
1005 internal::None
, internal::None
, internal::None
, internal::None
,
1006 internal::None
, internal::None
, internal::None
, internal::None
,
1007 internal::None
, internal::None
, internal::None
, internal::None
,
1008 internal::None
, internal::None
, internal::None
, internal::None
,
1009 internal::None
, internal::None
, internal::None
> {
1010 typedef internal::Types15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1011 T13
, T14
, T15
> type
;
1013 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1014 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1015 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1017 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1018 T16
, internal::None
, internal::None
, internal::None
, internal::None
,
1019 internal::None
, internal::None
, internal::None
, internal::None
,
1020 internal::None
, internal::None
, internal::None
, internal::None
,
1021 internal::None
, internal::None
, internal::None
, internal::None
,
1022 internal::None
, internal::None
, internal::None
, internal::None
,
1023 internal::None
, internal::None
, internal::None
, internal::None
,
1024 internal::None
, internal::None
, internal::None
, internal::None
,
1025 internal::None
, internal::None
, internal::None
, internal::None
,
1026 internal::None
, internal::None
> {
1027 typedef internal::Types16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1028 T13
, T14
, T15
, T16
> type
;
1030 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1031 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1032 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1033 typename T16
, typename T17
>
1034 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1035 T16
, T17
, internal::None
, internal::None
, internal::None
, internal::None
,
1036 internal::None
, internal::None
, internal::None
, internal::None
,
1037 internal::None
, internal::None
, internal::None
, internal::None
,
1038 internal::None
, internal::None
, internal::None
, internal::None
,
1039 internal::None
, internal::None
, internal::None
, internal::None
,
1040 internal::None
, internal::None
, internal::None
, internal::None
,
1041 internal::None
, internal::None
, internal::None
, internal::None
,
1042 internal::None
, internal::None
, internal::None
, internal::None
,
1044 typedef internal::Types17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1045 T13
, T14
, T15
, T16
, T17
> type
;
1047 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1048 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1049 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1050 typename T16
, typename T17
, typename T18
>
1051 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1052 T16
, T17
, T18
, internal::None
, internal::None
, internal::None
,
1053 internal::None
, internal::None
, internal::None
, internal::None
,
1054 internal::None
, internal::None
, internal::None
, internal::None
,
1055 internal::None
, internal::None
, internal::None
, internal::None
,
1056 internal::None
, internal::None
, internal::None
, internal::None
,
1057 internal::None
, internal::None
, internal::None
, internal::None
,
1058 internal::None
, internal::None
, internal::None
, internal::None
,
1059 internal::None
, internal::None
, internal::None
, internal::None
,
1061 typedef internal::Types18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1062 T13
, T14
, T15
, T16
, T17
, T18
> type
;
1064 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1065 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1066 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1067 typename T16
, typename T17
, typename T18
, typename T19
>
1068 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1069 T16
, T17
, T18
, T19
, internal::None
, internal::None
, internal::None
,
1070 internal::None
, internal::None
, internal::None
, internal::None
,
1071 internal::None
, internal::None
, internal::None
, internal::None
,
1072 internal::None
, internal::None
, internal::None
, internal::None
,
1073 internal::None
, internal::None
, internal::None
, internal::None
,
1074 internal::None
, internal::None
, internal::None
, internal::None
,
1075 internal::None
, internal::None
, internal::None
, internal::None
,
1076 internal::None
, internal::None
, internal::None
, internal::None
> {
1077 typedef internal::Types19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1078 T13
, T14
, T15
, T16
, T17
, T18
, T19
> type
;
1080 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1081 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1082 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1083 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
1084 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1085 T16
, T17
, T18
, T19
, T20
, internal::None
, internal::None
, internal::None
,
1086 internal::None
, internal::None
, internal::None
, internal::None
,
1087 internal::None
, internal::None
, internal::None
, internal::None
,
1088 internal::None
, internal::None
, internal::None
, internal::None
,
1089 internal::None
, internal::None
, internal::None
, internal::None
,
1090 internal::None
, internal::None
, internal::None
, internal::None
,
1091 internal::None
, internal::None
, internal::None
, internal::None
,
1092 internal::None
, internal::None
, internal::None
> {
1093 typedef internal::Types20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1094 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
1096 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1097 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1098 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1099 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1101 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1102 T16
, T17
, T18
, T19
, T20
, T21
, internal::None
, internal::None
,
1103 internal::None
, internal::None
, internal::None
, internal::None
,
1104 internal::None
, internal::None
, internal::None
, internal::None
,
1105 internal::None
, internal::None
, internal::None
, internal::None
,
1106 internal::None
, internal::None
, internal::None
, internal::None
,
1107 internal::None
, internal::None
, internal::None
, internal::None
,
1108 internal::None
, internal::None
, internal::None
, internal::None
,
1109 internal::None
, internal::None
, internal::None
> {
1110 typedef internal::Types21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1111 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
1113 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1114 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1115 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1116 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1117 typename T21
, typename T22
>
1118 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1119 T16
, T17
, T18
, T19
, T20
, T21
, T22
, internal::None
, internal::None
,
1120 internal::None
, internal::None
, internal::None
, internal::None
,
1121 internal::None
, internal::None
, internal::None
, internal::None
,
1122 internal::None
, internal::None
, internal::None
, internal::None
,
1123 internal::None
, internal::None
, internal::None
, internal::None
,
1124 internal::None
, internal::None
, internal::None
, internal::None
,
1125 internal::None
, internal::None
, internal::None
, internal::None
,
1126 internal::None
, internal::None
> {
1127 typedef internal::Types22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1128 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
1130 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1131 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1132 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1133 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1134 typename T21
, typename T22
, typename T23
>
1135 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1136 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, internal::None
, internal::None
,
1137 internal::None
, internal::None
, internal::None
, internal::None
,
1138 internal::None
, internal::None
, internal::None
, internal::None
,
1139 internal::None
, internal::None
, internal::None
, internal::None
,
1140 internal::None
, internal::None
, internal::None
, internal::None
,
1141 internal::None
, internal::None
, internal::None
, internal::None
,
1142 internal::None
, internal::None
, internal::None
, internal::None
,
1144 typedef internal::Types23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1145 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
1147 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1148 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1149 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1150 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1151 typename T21
, typename T22
, typename T23
, typename T24
>
1152 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1153 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, internal::None
,
1154 internal::None
, internal::None
, internal::None
, internal::None
,
1155 internal::None
, internal::None
, internal::None
, internal::None
,
1156 internal::None
, internal::None
, internal::None
, internal::None
,
1157 internal::None
, internal::None
, internal::None
, internal::None
,
1158 internal::None
, internal::None
, internal::None
, internal::None
,
1159 internal::None
, internal::None
, internal::None
, internal::None
,
1161 typedef internal::Types24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1162 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
1164 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1165 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1166 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1167 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1168 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
1169 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1170 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, internal::None
,
1171 internal::None
, internal::None
, internal::None
, internal::None
,
1172 internal::None
, internal::None
, internal::None
, internal::None
,
1173 internal::None
, internal::None
, internal::None
, internal::None
,
1174 internal::None
, internal::None
, internal::None
, internal::None
,
1175 internal::None
, internal::None
, internal::None
, internal::None
,
1176 internal::None
, internal::None
, internal::None
, internal::None
> {
1177 typedef internal::Types25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1178 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
1180 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1181 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1182 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1183 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1184 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1186 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1187 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, internal::None
,
1188 internal::None
, internal::None
, internal::None
, internal::None
,
1189 internal::None
, internal::None
, internal::None
, internal::None
,
1190 internal::None
, internal::None
, internal::None
, internal::None
,
1191 internal::None
, internal::None
, internal::None
, internal::None
,
1192 internal::None
, internal::None
, internal::None
, internal::None
,
1193 internal::None
, internal::None
, internal::None
> {
1194 typedef internal::Types26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1195 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
,
1198 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1199 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1200 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1201 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1202 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1203 typename T26
, typename T27
>
1204 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1205 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, internal::None
,
1206 internal::None
, internal::None
, internal::None
, internal::None
,
1207 internal::None
, internal::None
, internal::None
, internal::None
,
1208 internal::None
, internal::None
, internal::None
, internal::None
,
1209 internal::None
, internal::None
, internal::None
, internal::None
,
1210 internal::None
, internal::None
, internal::None
, internal::None
,
1211 internal::None
, internal::None
> {
1212 typedef internal::Types27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1213 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1216 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1217 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1218 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1219 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1220 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1221 typename T26
, typename T27
, typename T28
>
1222 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1223 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1224 internal::None
, internal::None
, internal::None
, internal::None
,
1225 internal::None
, internal::None
, internal::None
, internal::None
,
1226 internal::None
, internal::None
, internal::None
, internal::None
,
1227 internal::None
, internal::None
, internal::None
, internal::None
,
1228 internal::None
, internal::None
, internal::None
, internal::None
,
1229 internal::None
, internal::None
> {
1230 typedef internal::Types28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1231 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1234 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1235 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1236 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1237 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1238 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1239 typename T26
, typename T27
, typename T28
, typename T29
>
1240 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1241 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
1242 internal::None
, internal::None
, internal::None
, internal::None
,
1243 internal::None
, internal::None
, internal::None
, internal::None
,
1244 internal::None
, internal::None
, internal::None
, internal::None
,
1245 internal::None
, internal::None
, internal::None
, internal::None
,
1246 internal::None
, internal::None
, internal::None
, internal::None
,
1248 typedef internal::Types29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1249 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1250 T27
, T28
, T29
> type
;
1252 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1253 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1254 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1255 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1256 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1257 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
1258 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1259 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1260 internal::None
, internal::None
, internal::None
, internal::None
,
1261 internal::None
, internal::None
, internal::None
, internal::None
,
1262 internal::None
, internal::None
, internal::None
, internal::None
,
1263 internal::None
, internal::None
, internal::None
, internal::None
,
1264 internal::None
, internal::None
, internal::None
, internal::None
> {
1265 typedef internal::Types30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1266 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1267 T27
, T28
, T29
, T30
> type
;
1269 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1270 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1271 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1272 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1273 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1274 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1276 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1277 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1278 T31
, internal::None
, internal::None
, internal::None
, internal::None
,
1279 internal::None
, internal::None
, internal::None
, internal::None
,
1280 internal::None
, internal::None
, internal::None
, internal::None
,
1281 internal::None
, internal::None
, internal::None
, internal::None
,
1282 internal::None
, internal::None
, internal::None
> {
1283 typedef internal::Types31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1284 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1285 T27
, T28
, T29
, T30
, T31
> type
;
1287 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1288 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1289 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1290 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1291 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1292 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1293 typename T31
, typename T32
>
1294 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1295 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1296 T31
, T32
, internal::None
, internal::None
, internal::None
, internal::None
,
1297 internal::None
, internal::None
, internal::None
, internal::None
,
1298 internal::None
, internal::None
, internal::None
, internal::None
,
1299 internal::None
, internal::None
, internal::None
, internal::None
,
1300 internal::None
, internal::None
> {
1301 typedef internal::Types32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1302 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1303 T27
, T28
, T29
, T30
, T31
, T32
> type
;
1305 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1306 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1307 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1308 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1309 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1310 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1311 typename T31
, typename T32
, typename T33
>
1312 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1313 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1314 T31
, T32
, T33
, internal::None
, internal::None
, internal::None
,
1315 internal::None
, internal::None
, internal::None
, internal::None
,
1316 internal::None
, internal::None
, internal::None
, internal::None
,
1317 internal::None
, internal::None
, internal::None
, internal::None
,
1318 internal::None
, internal::None
> {
1319 typedef internal::Types33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1320 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1321 T27
, T28
, T29
, T30
, T31
, T32
, T33
> type
;
1323 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1324 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1325 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1326 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1327 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1328 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1329 typename T31
, typename T32
, typename T33
, typename T34
>
1330 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1331 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1332 T31
, T32
, T33
, T34
, internal::None
, internal::None
, internal::None
,
1333 internal::None
, internal::None
, internal::None
, internal::None
,
1334 internal::None
, internal::None
, internal::None
, internal::None
,
1335 internal::None
, internal::None
, internal::None
, internal::None
,
1337 typedef internal::Types34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1338 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1339 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
1341 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1342 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1343 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1344 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1345 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1346 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1347 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
1348 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1349 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1350 T31
, T32
, T33
, T34
, T35
, internal::None
, internal::None
, internal::None
,
1351 internal::None
, internal::None
, internal::None
, internal::None
,
1352 internal::None
, internal::None
, internal::None
, internal::None
,
1353 internal::None
, internal::None
, internal::None
, internal::None
> {
1354 typedef internal::Types35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1355 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1356 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
1358 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1359 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1360 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1361 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1362 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1363 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1364 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1366 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1367 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1368 T31
, T32
, T33
, T34
, T35
, T36
, internal::None
, internal::None
,
1369 internal::None
, internal::None
, internal::None
, internal::None
,
1370 internal::None
, internal::None
, internal::None
, internal::None
,
1371 internal::None
, internal::None
, internal::None
, internal::None
> {
1372 typedef internal::Types36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1373 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1374 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
1376 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1377 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1378 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1379 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1380 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1381 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1382 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1383 typename T36
, typename T37
>
1384 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1385 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1386 T31
, T32
, T33
, T34
, T35
, T36
, T37
, internal::None
, internal::None
,
1387 internal::None
, internal::None
, internal::None
, internal::None
,
1388 internal::None
, internal::None
, internal::None
, internal::None
,
1389 internal::None
, internal::None
, internal::None
> {
1390 typedef internal::Types37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1391 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1392 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
1394 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1395 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1396 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1397 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1398 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1399 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1400 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1401 typename T36
, typename T37
, typename T38
>
1402 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1403 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1404 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, internal::None
, internal::None
,
1405 internal::None
, internal::None
, internal::None
, internal::None
,
1406 internal::None
, internal::None
, internal::None
, internal::None
,
1407 internal::None
, internal::None
> {
1408 typedef internal::Types38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1409 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1410 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
1412 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1413 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1414 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1415 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1416 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1417 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1418 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1419 typename T36
, typename T37
, typename T38
, typename T39
>
1420 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1421 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1422 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, internal::None
,
1423 internal::None
, internal::None
, internal::None
, internal::None
,
1424 internal::None
, internal::None
, internal::None
, internal::None
,
1425 internal::None
, internal::None
> {
1426 typedef internal::Types39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1427 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1428 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
1430 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1431 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1432 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1433 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1434 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1435 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1436 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1437 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
1438 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1439 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1440 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, internal::None
,
1441 internal::None
, internal::None
, internal::None
, internal::None
,
1442 internal::None
, internal::None
, internal::None
, internal::None
,
1444 typedef internal::Types40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1445 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1446 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
,
1449 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1450 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1451 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1452 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1453 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1454 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1455 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1456 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1458 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1459 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1460 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, internal::None
,
1461 internal::None
, internal::None
, internal::None
, internal::None
,
1462 internal::None
, internal::None
, internal::None
, internal::None
> {
1463 typedef internal::Types41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1464 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1465 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1468 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1469 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1470 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1471 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1472 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1473 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1474 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1475 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1476 typename T41
, typename T42
>
1477 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1478 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1479 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, internal::None
,
1480 internal::None
, internal::None
, internal::None
, internal::None
,
1481 internal::None
, internal::None
, internal::None
> {
1482 typedef internal::Types42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1483 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1484 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1487 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1488 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1489 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1490 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1491 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1492 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1493 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1494 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1495 typename T41
, typename T42
, typename T43
>
1496 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1497 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1498 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
1499 internal::None
, internal::None
, internal::None
, internal::None
,
1500 internal::None
, internal::None
, internal::None
> {
1501 typedef internal::Types43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1502 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1503 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1504 T41
, T42
, T43
> type
;
1506 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1507 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1508 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1509 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1510 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1511 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1512 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1513 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1514 typename T41
, typename T42
, typename T43
, typename T44
>
1515 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1516 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1517 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
1518 internal::None
, internal::None
, internal::None
, internal::None
,
1519 internal::None
, internal::None
> {
1520 typedef internal::Types44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1521 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1522 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1523 T41
, T42
, T43
, T44
> type
;
1525 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1526 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1527 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1528 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1529 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1530 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1531 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1532 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1533 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
1534 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1535 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1536 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1537 internal::None
, internal::None
, internal::None
, internal::None
,
1539 typedef internal::Types45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1540 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1541 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1542 T41
, T42
, T43
, T44
, T45
> type
;
1544 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1545 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1546 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1547 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1548 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1549 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1550 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1551 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1552 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1554 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1555 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1556 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1557 T46
, internal::None
, internal::None
, internal::None
, internal::None
> {
1558 typedef internal::Types46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1559 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1560 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1561 T41
, T42
, T43
, T44
, T45
, T46
> type
;
1563 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1564 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1565 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1566 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1567 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1568 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1569 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1570 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1571 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1572 typename T46
, typename T47
>
1573 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1574 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1575 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1576 T46
, T47
, internal::None
, internal::None
, internal::None
> {
1577 typedef internal::Types47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1578 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1579 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1580 T41
, T42
, T43
, T44
, T45
, T46
, T47
> type
;
1582 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1583 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1584 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1585 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1586 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1587 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1588 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1589 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1590 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1591 typename T46
, typename T47
, typename T48
>
1592 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1593 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1594 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1595 T46
, T47
, T48
, internal::None
, internal::None
> {
1596 typedef internal::Types48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1597 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1598 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1599 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
1601 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1602 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1603 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1604 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1605 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1606 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1607 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1608 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1609 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1610 typename T46
, typename T47
, typename T48
, typename T49
>
1611 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1612 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1613 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1614 T46
, T47
, T48
, T49
, internal::None
> {
1615 typedef internal::Types49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1616 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1617 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1618 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
1621 namespace internal
{
1623 # define GTEST_TEMPLATE_ template <typename T> class
1625 // The template "selector" struct TemplateSel<Tmpl> is used to
1626 // represent Tmpl, which must be a class template with one type
1627 // parameter, as a type. TemplateSel<Tmpl>::Bind<T>::type is defined
1628 // as the type Tmpl<T>. This allows us to actually instantiate the
1629 // template "selected" by TemplateSel<Tmpl>.
1631 // This trick is necessary for simulating typedef for class templates,
1632 // which C++ doesn't support directly.
1633 template <GTEST_TEMPLATE_ Tmpl
>
1634 struct TemplateSel
{
1635 template <typename T
>
1637 typedef Tmpl
<T
> type
;
1641 # define GTEST_BIND_(TmplSel, T) \
1642 TmplSel::template Bind<T>::type
1644 // A unique struct template used as the default value for the
1645 // arguments of class template Templates. This allows us to simulate
1646 // variadic templates (e.g. Templates<int>, Templates<int, double>,
1647 // and etc), which C++ doesn't support directly.
1648 template <typename T
>
1651 // The following family of struct and struct templates are used to
1652 // represent template lists. In particular, TemplatesN<T1, T2, ...,
1653 // TN> represents a list of N templates (T1, T2, ..., and TN). Except
1654 // for Templates0, every struct in the family has two member types:
1655 // Head for the selector of the first template in the list, and Tail
1656 // for the rest of the list.
1658 // The empty template list.
1659 struct Templates0
{};
1661 // Template lists of length 1, 2, 3, and so on.
1663 template <GTEST_TEMPLATE_ T1
>
1665 typedef TemplateSel
<T1
> Head
;
1666 typedef Templates0 Tail
;
1668 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
1670 typedef TemplateSel
<T1
> Head
;
1671 typedef Templates1
<T2
> Tail
;
1674 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
1676 typedef TemplateSel
<T1
> Head
;
1677 typedef Templates2
<T2
, T3
> Tail
;
1680 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1683 typedef TemplateSel
<T1
> Head
;
1684 typedef Templates3
<T2
, T3
, T4
> Tail
;
1687 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1688 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
1690 typedef TemplateSel
<T1
> Head
;
1691 typedef Templates4
<T2
, T3
, T4
, T5
> Tail
;
1694 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1695 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
1697 typedef TemplateSel
<T1
> Head
;
1698 typedef Templates5
<T2
, T3
, T4
, T5
, T6
> Tail
;
1701 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1702 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1705 typedef TemplateSel
<T1
> Head
;
1706 typedef Templates6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
1709 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1710 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1711 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
1713 typedef TemplateSel
<T1
> Head
;
1714 typedef Templates7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
1717 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1718 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1719 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
1721 typedef TemplateSel
<T1
> Head
;
1722 typedef Templates8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
1725 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1726 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1727 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1728 GTEST_TEMPLATE_ T10
>
1729 struct Templates10
{
1730 typedef TemplateSel
<T1
> Head
;
1731 typedef Templates9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
1734 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1735 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1736 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1737 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
1738 struct Templates11
{
1739 typedef TemplateSel
<T1
> Head
;
1740 typedef Templates10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
1743 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1744 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1745 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1746 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
1747 struct Templates12
{
1748 typedef TemplateSel
<T1
> Head
;
1749 typedef Templates11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
1752 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1753 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1754 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1755 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1756 GTEST_TEMPLATE_ T13
>
1757 struct Templates13
{
1758 typedef TemplateSel
<T1
> Head
;
1759 typedef Templates12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
1762 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1763 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1764 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1765 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1766 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
1767 struct Templates14
{
1768 typedef TemplateSel
<T1
> Head
;
1769 typedef Templates13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
1773 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1774 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1775 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1776 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1777 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
1778 struct Templates15
{
1779 typedef TemplateSel
<T1
> Head
;
1780 typedef Templates14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1784 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1785 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1786 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1787 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1788 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1789 GTEST_TEMPLATE_ T16
>
1790 struct Templates16
{
1791 typedef TemplateSel
<T1
> Head
;
1792 typedef Templates15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1796 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1797 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1798 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1799 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1800 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1801 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
1802 struct Templates17
{
1803 typedef TemplateSel
<T1
> Head
;
1804 typedef Templates16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1805 T15
, T16
, T17
> Tail
;
1808 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1809 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1810 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1811 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1812 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1813 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
1814 struct Templates18
{
1815 typedef TemplateSel
<T1
> Head
;
1816 typedef Templates17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1817 T15
, T16
, T17
, T18
> Tail
;
1820 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1821 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1822 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1823 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1824 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1825 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1826 GTEST_TEMPLATE_ T19
>
1827 struct Templates19
{
1828 typedef TemplateSel
<T1
> Head
;
1829 typedef Templates18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1830 T15
, T16
, T17
, T18
, T19
> Tail
;
1833 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1834 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1835 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1836 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1837 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1838 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1839 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
1840 struct Templates20
{
1841 typedef TemplateSel
<T1
> Head
;
1842 typedef Templates19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1843 T15
, T16
, T17
, T18
, T19
, T20
> Tail
;
1846 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1847 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1848 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1849 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1850 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1851 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1852 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
1853 struct Templates21
{
1854 typedef TemplateSel
<T1
> Head
;
1855 typedef Templates20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1856 T15
, T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
1859 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1860 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1861 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1862 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1863 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1864 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1865 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1866 GTEST_TEMPLATE_ T22
>
1867 struct Templates22
{
1868 typedef TemplateSel
<T1
> Head
;
1869 typedef Templates21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1870 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
1873 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1874 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1875 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1876 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1877 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1878 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1879 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1880 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
1881 struct Templates23
{
1882 typedef TemplateSel
<T1
> Head
;
1883 typedef Templates22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1884 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
1887 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1888 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1889 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1890 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1891 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1892 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1893 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1894 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
1895 struct Templates24
{
1896 typedef TemplateSel
<T1
> Head
;
1897 typedef Templates23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1898 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
1901 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1902 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1903 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1904 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1905 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1906 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1907 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1908 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1909 GTEST_TEMPLATE_ T25
>
1910 struct Templates25
{
1911 typedef TemplateSel
<T1
> Head
;
1912 typedef Templates24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1913 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
1916 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1917 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1918 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1919 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1920 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1921 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1922 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1923 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1924 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
1925 struct Templates26
{
1926 typedef TemplateSel
<T1
> Head
;
1927 typedef Templates25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1928 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
1931 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1932 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1933 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1934 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1935 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1936 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1937 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1938 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1939 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
1940 struct Templates27
{
1941 typedef TemplateSel
<T1
> Head
;
1942 typedef Templates26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1943 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
1946 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1947 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1948 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1949 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1950 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1951 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1952 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1953 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1954 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1955 GTEST_TEMPLATE_ T28
>
1956 struct Templates28
{
1957 typedef TemplateSel
<T1
> Head
;
1958 typedef Templates27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1959 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
1963 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1964 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1965 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1966 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1967 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1968 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1969 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1970 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1971 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1972 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
1973 struct Templates29
{
1974 typedef TemplateSel
<T1
> Head
;
1975 typedef Templates28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1976 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1980 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1981 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1982 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1983 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1984 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1985 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1986 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1987 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1988 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1989 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
1990 struct Templates30
{
1991 typedef TemplateSel
<T1
> Head
;
1992 typedef Templates29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1993 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1997 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1998 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1999 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2000 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2001 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2002 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2003 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2004 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2005 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2006 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2007 GTEST_TEMPLATE_ T31
>
2008 struct Templates31
{
2009 typedef TemplateSel
<T1
> Head
;
2010 typedef Templates30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2011 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2012 T29
, T30
, T31
> Tail
;
2015 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2016 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2017 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2018 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2019 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2020 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2021 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2022 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2023 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2024 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2025 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2026 struct Templates32
{
2027 typedef TemplateSel
<T1
> Head
;
2028 typedef Templates31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2029 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2030 T29
, T30
, T31
, T32
> Tail
;
2033 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2034 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2035 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2036 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2037 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2038 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2039 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2040 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2041 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2042 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2043 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2044 struct Templates33
{
2045 typedef TemplateSel
<T1
> Head
;
2046 typedef Templates32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2047 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2048 T29
, T30
, T31
, T32
, T33
> Tail
;
2051 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2052 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2053 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2054 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2055 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2056 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2057 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2058 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2059 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2060 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2061 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2062 GTEST_TEMPLATE_ T34
>
2063 struct Templates34
{
2064 typedef TemplateSel
<T1
> Head
;
2065 typedef Templates33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2066 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2067 T29
, T30
, T31
, T32
, T33
, T34
> Tail
;
2070 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2071 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2072 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2073 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2074 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2075 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2076 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2077 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2078 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2079 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2080 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2081 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2082 struct Templates35
{
2083 typedef TemplateSel
<T1
> Head
;
2084 typedef Templates34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2085 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2086 T29
, T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
2089 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2090 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2091 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2092 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2093 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2094 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2095 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2096 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2097 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2098 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2099 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2100 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2101 struct Templates36
{
2102 typedef TemplateSel
<T1
> Head
;
2103 typedef Templates35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2104 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2105 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
2108 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2109 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2110 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2111 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2112 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2113 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2114 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2115 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2116 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2117 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2118 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2119 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2120 GTEST_TEMPLATE_ T37
>
2121 struct Templates37
{
2122 typedef TemplateSel
<T1
> Head
;
2123 typedef Templates36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2124 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2125 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
2128 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2129 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2130 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2131 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2132 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2133 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2134 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2135 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2136 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2137 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2138 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2139 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2140 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
2141 struct Templates38
{
2142 typedef TemplateSel
<T1
> Head
;
2143 typedef Templates37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2144 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2145 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
2148 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2149 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2150 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2151 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2152 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2153 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2154 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2155 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2156 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2157 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2158 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2159 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2160 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
2161 struct Templates39
{
2162 typedef TemplateSel
<T1
> Head
;
2163 typedef Templates38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2164 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2165 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
2168 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2169 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2170 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2171 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2172 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2173 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2174 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2175 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2176 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2177 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2178 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2179 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2180 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2181 GTEST_TEMPLATE_ T40
>
2182 struct Templates40
{
2183 typedef TemplateSel
<T1
> Head
;
2184 typedef Templates39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2185 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2186 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
2189 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2190 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2191 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2192 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2193 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2194 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2195 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2196 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2197 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2198 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2199 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2200 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2201 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2202 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
2203 struct Templates41
{
2204 typedef TemplateSel
<T1
> Head
;
2205 typedef Templates40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2206 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2207 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
2210 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2211 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2212 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2213 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2214 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2215 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2216 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2217 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2218 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2219 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2220 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2221 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2222 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2223 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
2224 struct Templates42
{
2225 typedef TemplateSel
<T1
> Head
;
2226 typedef Templates41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2227 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2228 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2232 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2233 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2234 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2235 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2236 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2237 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2238 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2239 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2240 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2241 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2242 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2243 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2244 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2245 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2246 GTEST_TEMPLATE_ T43
>
2247 struct Templates43
{
2248 typedef TemplateSel
<T1
> Head
;
2249 typedef Templates42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2250 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2251 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2255 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2256 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2257 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2258 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2259 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2260 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2261 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2262 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2263 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2264 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2265 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2266 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2267 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2268 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2269 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
2270 struct Templates44
{
2271 typedef TemplateSel
<T1
> Head
;
2272 typedef Templates43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2273 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2274 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2278 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2279 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2280 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2281 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2282 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2283 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2284 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2285 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2286 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2287 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2288 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2289 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2290 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2291 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2292 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
2293 struct Templates45
{
2294 typedef TemplateSel
<T1
> Head
;
2295 typedef Templates44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2296 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2297 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2298 T43
, T44
, T45
> Tail
;
2301 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2302 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2303 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2304 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2305 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2306 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2307 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2308 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2309 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2310 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2311 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2312 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2313 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2314 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2315 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2316 GTEST_TEMPLATE_ T46
>
2317 struct Templates46
{
2318 typedef TemplateSel
<T1
> Head
;
2319 typedef Templates45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2320 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2321 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2322 T43
, T44
, T45
, T46
> Tail
;
2325 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2326 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2327 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2328 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2329 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2330 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2331 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2332 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2333 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2334 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2335 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2336 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2337 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2338 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2339 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2340 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
2341 struct Templates47
{
2342 typedef TemplateSel
<T1
> Head
;
2343 typedef Templates46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2344 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2345 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2346 T43
, T44
, T45
, T46
, T47
> Tail
;
2349 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2350 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2351 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2352 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2353 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2354 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2355 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2356 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2357 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2358 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2359 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2360 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2361 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2362 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2363 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2364 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
2365 struct Templates48
{
2366 typedef TemplateSel
<T1
> Head
;
2367 typedef Templates47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2368 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2369 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2370 T43
, T44
, T45
, T46
, T47
, T48
> Tail
;
2373 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2374 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2375 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2376 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2377 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2378 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2379 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2380 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2381 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2382 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2383 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2384 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2385 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2386 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2387 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2388 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2389 GTEST_TEMPLATE_ T49
>
2390 struct Templates49
{
2391 typedef TemplateSel
<T1
> Head
;
2392 typedef Templates48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2393 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2394 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2395 T43
, T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
2398 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2399 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2400 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2401 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2402 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2403 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2404 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2405 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2406 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2407 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2408 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2409 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2410 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2411 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2412 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2413 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2414 GTEST_TEMPLATE_ T49
, GTEST_TEMPLATE_ T50
>
2415 struct Templates50
{
2416 typedef TemplateSel
<T1
> Head
;
2417 typedef Templates49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2418 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2419 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2420 T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
2424 // We don't want to require the users to write TemplatesN<...> directly,
2425 // as that would require them to count the length. Templates<...> is much
2426 // easier to write, but generates horrible messages when there is a
2427 // compiler error, as gcc insists on printing out each template
2428 // argument, even if it has the default value (this means Templates<list>
2429 // will appear as Templates<list, NoneT, NoneT, ..., NoneT> in the compiler
2432 // Our solution is to combine the best part of the two approaches: a
2433 // user would write Templates<T1, ..., TN>, and Google Test will translate
2434 // that to TemplatesN<T1, ..., TN> internally to make error messages
2435 // readable. The translation is done by the 'type' member of the
2436 // Templates template.
2437 template <GTEST_TEMPLATE_ T1
= NoneT
, GTEST_TEMPLATE_ T2
= NoneT
,
2438 GTEST_TEMPLATE_ T3
= NoneT
, GTEST_TEMPLATE_ T4
= NoneT
,
2439 GTEST_TEMPLATE_ T5
= NoneT
, GTEST_TEMPLATE_ T6
= NoneT
,
2440 GTEST_TEMPLATE_ T7
= NoneT
, GTEST_TEMPLATE_ T8
= NoneT
,
2441 GTEST_TEMPLATE_ T9
= NoneT
, GTEST_TEMPLATE_ T10
= NoneT
,
2442 GTEST_TEMPLATE_ T11
= NoneT
, GTEST_TEMPLATE_ T12
= NoneT
,
2443 GTEST_TEMPLATE_ T13
= NoneT
, GTEST_TEMPLATE_ T14
= NoneT
,
2444 GTEST_TEMPLATE_ T15
= NoneT
, GTEST_TEMPLATE_ T16
= NoneT
,
2445 GTEST_TEMPLATE_ T17
= NoneT
, GTEST_TEMPLATE_ T18
= NoneT
,
2446 GTEST_TEMPLATE_ T19
= NoneT
, GTEST_TEMPLATE_ T20
= NoneT
,
2447 GTEST_TEMPLATE_ T21
= NoneT
, GTEST_TEMPLATE_ T22
= NoneT
,
2448 GTEST_TEMPLATE_ T23
= NoneT
, GTEST_TEMPLATE_ T24
= NoneT
,
2449 GTEST_TEMPLATE_ T25
= NoneT
, GTEST_TEMPLATE_ T26
= NoneT
,
2450 GTEST_TEMPLATE_ T27
= NoneT
, GTEST_TEMPLATE_ T28
= NoneT
,
2451 GTEST_TEMPLATE_ T29
= NoneT
, GTEST_TEMPLATE_ T30
= NoneT
,
2452 GTEST_TEMPLATE_ T31
= NoneT
, GTEST_TEMPLATE_ T32
= NoneT
,
2453 GTEST_TEMPLATE_ T33
= NoneT
, GTEST_TEMPLATE_ T34
= NoneT
,
2454 GTEST_TEMPLATE_ T35
= NoneT
, GTEST_TEMPLATE_ T36
= NoneT
,
2455 GTEST_TEMPLATE_ T37
= NoneT
, GTEST_TEMPLATE_ T38
= NoneT
,
2456 GTEST_TEMPLATE_ T39
= NoneT
, GTEST_TEMPLATE_ T40
= NoneT
,
2457 GTEST_TEMPLATE_ T41
= NoneT
, GTEST_TEMPLATE_ T42
= NoneT
,
2458 GTEST_TEMPLATE_ T43
= NoneT
, GTEST_TEMPLATE_ T44
= NoneT
,
2459 GTEST_TEMPLATE_ T45
= NoneT
, GTEST_TEMPLATE_ T46
= NoneT
,
2460 GTEST_TEMPLATE_ T47
= NoneT
, GTEST_TEMPLATE_ T48
= NoneT
,
2461 GTEST_TEMPLATE_ T49
= NoneT
, GTEST_TEMPLATE_ T50
= NoneT
>
2463 typedef Templates50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2464 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2465 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2466 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
2470 struct Templates
<NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2471 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2472 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2473 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2474 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2476 typedef Templates0 type
;
2478 template <GTEST_TEMPLATE_ T1
>
2479 struct Templates
<T1
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2480 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2481 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2482 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2483 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2485 typedef Templates1
<T1
> type
;
2487 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
2488 struct Templates
<T1
, T2
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2489 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2490 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2491 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2492 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2494 typedef Templates2
<T1
, T2
> type
;
2496 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
2497 struct Templates
<T1
, T2
, T3
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2498 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2499 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2500 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2501 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2502 typedef Templates3
<T1
, T2
, T3
> type
;
2504 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2506 struct Templates
<T1
, T2
, T3
, T4
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2507 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2508 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2509 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2510 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2511 typedef Templates4
<T1
, T2
, T3
, T4
> type
;
2513 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2514 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
2515 struct Templates
<T1
, T2
, T3
, T4
, T5
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2516 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2517 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2518 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2519 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2520 typedef Templates5
<T1
, T2
, T3
, T4
, T5
> type
;
2522 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2523 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
2524 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2525 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2526 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2527 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2528 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2529 typedef Templates6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
2531 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2532 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2534 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2535 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2536 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2537 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2538 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2539 typedef Templates7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
2541 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2542 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2543 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
2544 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, NoneT
, NoneT
, NoneT
, NoneT
,
2545 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2546 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2547 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2548 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2549 typedef Templates8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
2551 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2552 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2553 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
2554 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, NoneT
, NoneT
, NoneT
,
2555 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2556 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2557 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2558 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2559 typedef Templates9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
2561 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2562 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2563 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2564 GTEST_TEMPLATE_ T10
>
2565 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, NoneT
, NoneT
, NoneT
,
2566 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2567 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2568 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2569 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2570 typedef Templates10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
2572 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2573 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2574 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2575 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
2576 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, NoneT
, NoneT
,
2577 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2578 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2579 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2580 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2581 typedef Templates11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
2583 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2584 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2585 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2586 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
2587 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, NoneT
,
2588 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2589 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2590 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2591 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2592 typedef Templates12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> type
;
2594 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2595 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2596 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2597 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2598 GTEST_TEMPLATE_ T13
>
2599 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, NoneT
,
2600 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2601 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2602 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2603 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2604 typedef Templates13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
2607 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2608 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2609 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2610 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2611 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
2612 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2613 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2614 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2615 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2616 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2617 typedef Templates14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2620 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2621 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2622 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2623 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2624 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
2625 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2626 T15
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2627 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2628 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2629 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2630 typedef Templates15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2633 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2634 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2635 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2636 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2637 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2638 GTEST_TEMPLATE_ T16
>
2639 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2640 T15
, T16
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2641 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2642 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2643 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2644 typedef Templates16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2645 T14
, T15
, T16
> type
;
2647 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2648 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2649 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2650 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2651 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2652 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
2653 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2654 T15
, T16
, T17
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2655 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2656 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2657 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2658 typedef Templates17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2659 T14
, T15
, T16
, T17
> type
;
2661 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2662 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2663 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2664 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2665 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2666 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
2667 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2668 T15
, T16
, T17
, T18
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2669 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2670 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2671 NoneT
, NoneT
, NoneT
, NoneT
> {
2672 typedef Templates18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2673 T14
, T15
, T16
, T17
, T18
> type
;
2675 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2676 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2677 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2678 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2679 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2680 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2681 GTEST_TEMPLATE_ T19
>
2682 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2683 T15
, T16
, T17
, T18
, T19
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2684 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2685 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2686 NoneT
, NoneT
, NoneT
, NoneT
> {
2687 typedef Templates19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2688 T14
, T15
, T16
, T17
, T18
, T19
> type
;
2690 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2691 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2692 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2693 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2694 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2695 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2696 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
2697 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2698 T15
, T16
, T17
, T18
, T19
, T20
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2699 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2700 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2701 NoneT
, NoneT
, NoneT
, NoneT
> {
2702 typedef Templates20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2703 T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
2705 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2706 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2707 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2708 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2709 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2710 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2711 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
2712 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2713 T15
, T16
, T17
, T18
, T19
, T20
, T21
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2714 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2715 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2716 NoneT
, NoneT
, NoneT
, NoneT
> {
2717 typedef Templates21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2718 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
2720 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2721 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2722 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2723 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2724 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2725 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2726 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2727 GTEST_TEMPLATE_ T22
>
2728 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2729 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2730 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2731 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2732 NoneT
, NoneT
, NoneT
> {
2733 typedef Templates22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2734 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
2736 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2737 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2738 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2739 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2740 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2741 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2742 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2743 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
2744 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2745 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, NoneT
, NoneT
, NoneT
, NoneT
,
2746 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2747 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2748 NoneT
, NoneT
, NoneT
> {
2749 typedef Templates23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2750 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
2752 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2753 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2754 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2755 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2756 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2757 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2758 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2759 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
2760 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2761 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, NoneT
, NoneT
, NoneT
,
2762 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2763 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2764 NoneT
, NoneT
, NoneT
> {
2765 typedef Templates24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2766 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
2768 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2769 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2770 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2771 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2772 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2773 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2774 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2775 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2776 GTEST_TEMPLATE_ T25
>
2777 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2778 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, NoneT
, NoneT
, NoneT
,
2779 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2780 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2782 typedef Templates25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2783 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
2785 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2786 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2787 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2788 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2789 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2790 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2791 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2792 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2793 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
2794 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2795 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, NoneT
, NoneT
,
2796 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2797 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2799 typedef Templates26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2800 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> type
;
2802 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2803 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2804 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2805 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2806 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2807 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2808 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2809 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2810 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
2811 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2812 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, NoneT
,
2813 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2814 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2816 typedef Templates27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2817 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
2820 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2821 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2822 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2823 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2824 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2825 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2826 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2827 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2828 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2829 GTEST_TEMPLATE_ T28
>
2830 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2831 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2832 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2833 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2835 typedef Templates28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2836 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2839 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2840 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2841 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2842 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2843 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2844 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2845 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2846 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2847 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2848 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
2849 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2850 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2851 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2852 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2854 typedef Templates29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2855 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2858 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2859 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2860 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2861 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2862 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2863 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2864 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2865 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2866 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2867 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
2868 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2869 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2870 T30
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2871 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2872 typedef Templates30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2873 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2874 T28
, T29
, T30
> type
;
2876 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2877 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2878 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2879 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2880 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2881 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2882 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2883 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2884 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2885 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2886 GTEST_TEMPLATE_ T31
>
2887 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2888 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2889 T30
, T31
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2890 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2891 typedef Templates31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2892 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2893 T28
, T29
, T30
, T31
> type
;
2895 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2896 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2897 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2898 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2899 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2900 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2901 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2902 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2903 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2904 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2905 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2906 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2907 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2908 T30
, T31
, T32
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2909 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2910 typedef Templates32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2911 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2912 T28
, T29
, T30
, T31
, T32
> type
;
2914 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2915 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2916 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2917 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2918 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2919 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2920 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2921 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2922 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2923 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2924 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2925 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2926 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2927 T30
, T31
, T32
, T33
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2928 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2929 typedef Templates33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2930 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2931 T28
, T29
, T30
, T31
, T32
, T33
> type
;
2933 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2934 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2935 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2936 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2937 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2938 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2939 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2940 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2941 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2942 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2943 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2944 GTEST_TEMPLATE_ T34
>
2945 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2946 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2947 T30
, T31
, T32
, T33
, T34
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2948 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2949 typedef Templates34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2950 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2951 T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
2953 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2954 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2955 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2956 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2957 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2958 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2959 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2960 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2961 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2962 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2963 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2964 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2965 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2966 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2967 T30
, T31
, T32
, T33
, T34
, T35
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2968 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2969 typedef Templates35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2970 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2971 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
2973 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2974 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2975 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2976 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2977 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2978 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2979 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2980 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2981 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2982 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2983 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2984 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2985 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2986 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2987 T30
, T31
, T32
, T33
, T34
, T35
, T36
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2988 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2989 typedef Templates36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2990 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2991 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
2993 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2994 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2995 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2996 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2997 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2998 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2999 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3000 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3001 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3002 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3003 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3004 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3005 GTEST_TEMPLATE_ T37
>
3006 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3007 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3008 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
3009 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3010 typedef Templates37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3011 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3012 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
3014 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3015 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3016 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3017 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3018 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3019 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3020 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3021 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3022 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3023 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3024 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3025 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3026 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
3027 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3028 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3029 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, NoneT
, NoneT
, NoneT
, NoneT
,
3030 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3031 typedef Templates38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3032 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3033 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
3035 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3036 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3037 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3038 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3039 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3040 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3041 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3042 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3043 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3044 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3045 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3046 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3047 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
3048 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3049 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3050 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, NoneT
, NoneT
, NoneT
,
3051 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3052 typedef Templates39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3053 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3054 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
3056 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3057 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3058 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3059 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3060 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3061 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3062 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3063 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3064 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3065 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3066 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3067 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3068 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3069 GTEST_TEMPLATE_ T40
>
3070 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3071 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3072 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, NoneT
, NoneT
, NoneT
,
3073 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3074 typedef Templates40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3075 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3076 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> type
;
3078 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3079 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3080 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3081 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3082 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3083 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3084 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3085 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3086 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3087 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3088 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3089 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3090 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3091 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
3092 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3093 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3094 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, NoneT
, NoneT
,
3095 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3096 typedef Templates41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3097 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3098 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3101 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3102 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3103 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3104 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3105 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3106 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3107 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3108 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3109 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3110 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3111 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3112 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3113 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3114 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
3115 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3116 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3117 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, NoneT
,
3118 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3119 typedef Templates42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3120 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3121 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3124 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3125 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3126 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3127 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3128 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3129 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3130 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3131 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3132 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3133 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3134 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3135 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3136 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3137 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3138 GTEST_TEMPLATE_ T43
>
3139 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3140 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3141 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3142 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3143 typedef Templates43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3144 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3145 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3148 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3149 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3150 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3151 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3152 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3153 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3154 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3155 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3156 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3157 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3158 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3159 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3160 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3161 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3162 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
3163 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3164 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3165 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3166 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3167 typedef Templates44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3168 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3169 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3170 T42
, T43
, T44
> type
;
3172 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3173 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3174 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3175 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3176 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3177 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3178 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3179 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3180 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3181 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3182 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3183 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3184 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3185 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3186 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
3187 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3188 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3189 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3190 T45
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3191 typedef Templates45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3192 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3193 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3194 T42
, T43
, T44
, T45
> type
;
3196 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3197 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3198 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3199 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3200 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3201 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3202 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3203 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3204 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3205 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3206 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3207 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3208 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3209 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3210 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3211 GTEST_TEMPLATE_ T46
>
3212 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3213 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3214 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3215 T45
, T46
, NoneT
, NoneT
, NoneT
, NoneT
> {
3216 typedef Templates46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3217 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3218 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3219 T42
, T43
, T44
, T45
, T46
> type
;
3221 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3222 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3223 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3224 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3225 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3226 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3227 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3228 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3229 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3230 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3231 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3232 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3233 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3234 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3235 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3236 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
3237 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3238 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3239 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3240 T45
, T46
, T47
, NoneT
, NoneT
, NoneT
> {
3241 typedef Templates47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3242 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3243 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3244 T42
, T43
, T44
, T45
, T46
, T47
> type
;
3246 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3247 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3248 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3249 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3250 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3251 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3252 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3253 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3254 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3255 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3256 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3257 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3258 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3259 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3260 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3261 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
3262 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3263 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3264 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3265 T45
, T46
, T47
, T48
, NoneT
, NoneT
> {
3266 typedef Templates48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3267 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3268 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3269 T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
3271 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3272 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3273 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3274 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3275 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3276 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3277 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3278 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3279 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3280 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3281 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3282 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3283 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3284 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3285 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3286 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
3287 GTEST_TEMPLATE_ T49
>
3288 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3289 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3290 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3291 T45
, T46
, T47
, T48
, T49
, NoneT
> {
3292 typedef Templates49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3293 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3294 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3295 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
3298 // The TypeList template makes it possible to use either a single type
3299 // or a Types<...> list in TYPED_TEST_CASE() and
3300 // INSTANTIATE_TYPED_TEST_CASE_P().
3302 template <typename T
>
3303 struct TypeList
{ typedef Types1
<T
> type
; };
3305 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
3306 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
3307 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
3308 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
3309 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
3310 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
3311 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
3312 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
3313 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
3314 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
3315 struct TypeList
<Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3316 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
3317 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3318 T44
, T45
, T46
, T47
, T48
, T49
, T50
> > {
3319 typedef typename Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
3320 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
3321 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3322 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
>::type type
;
3325 #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
3327 } // namespace internal
3328 } // namespace testing
3330 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_