]>
git.proxmox.com Git - ceph.git/blob - ceph/src/rapidjson/thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h
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"
49 // #ifdef __GNUC__ is too general here. It is possible to use gcc without using
50 // libstdc++ (which is where cxxabi.h comes from).
51 # if GTEST_HAS_CXXABI_H_
53 # elif defined(__HP_aCC)
54 # include <acxx_demangle.h>
55 # endif // GTEST_HASH_CXXABI_H_
60 // GetTypeName<T>() returns a human-readable name of type T.
61 // NB: This function is also used in Google Mock, so don't move it inside of
62 // the typed-test-only section below.
64 std::string
GetTypeName() {
67 const char* const name
= typeid(T
).name();
68 # if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC)
70 // gcc's implementation of typeid(T).name() mangles the type name,
71 // so we have to demangle it.
72 # if GTEST_HAS_CXXABI_H_
73 using abi::__cxa_demangle
;
74 # endif // GTEST_HAS_CXXABI_H_
75 char* const readable_name
= __cxa_demangle(name
, 0, 0, &status
);
76 const std::string
name_str(status
== 0 ? readable_name
: name
);
81 # endif // GTEST_HAS_CXXABI_H_ || __HP_aCC
87 # endif // GTEST_HAS_RTTI
90 #if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
92 // AssertyTypeEq<T1, T2>::type is defined iff T1 and T2 are the same
93 // type. This can be used as a compile-time assertion to ensure that
94 // two types are equal.
96 template <typename T1
, typename T2
>
100 struct AssertTypeEq
<T
, T
> {
104 // A unique type used as the default value for the arguments of class
105 // template Types. This allows us to simulate variadic templates
106 // (e.g. Types<int>, Type<int, double>, and etc), which C++ doesn't
110 // The following family of struct and struct templates are used to
111 // represent type lists. In particular, TypesN<T1, T2, ..., TN>
112 // represents a type list with N types (T1, T2, ..., and TN) in it.
113 // Except for Types0, every struct in the family has two member types:
114 // Head for the first type in the list, and Tail for the rest of the
117 // The empty type list.
120 // Type lists of length 1, 2, 3, and so on.
122 template <typename T1
>
127 template <typename T1
, typename T2
>
130 typedef Types1
<T2
> Tail
;
133 template <typename T1
, typename T2
, typename T3
>
136 typedef Types2
<T2
, T3
> Tail
;
139 template <typename T1
, typename T2
, typename T3
, typename T4
>
142 typedef Types3
<T2
, T3
, T4
> Tail
;
145 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
148 typedef Types4
<T2
, T3
, T4
, T5
> Tail
;
151 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
155 typedef Types5
<T2
, T3
, T4
, T5
, T6
> Tail
;
158 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
159 typename T6
, typename T7
>
162 typedef Types6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
165 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
166 typename T6
, typename T7
, typename T8
>
169 typedef Types7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
172 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
173 typename T6
, typename T7
, typename T8
, typename T9
>
176 typedef Types8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
179 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
180 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
183 typedef Types9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
186 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
187 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
191 typedef Types10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
194 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
195 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
196 typename T11
, typename T12
>
199 typedef Types11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
202 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
203 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
204 typename T11
, typename T12
, typename T13
>
207 typedef Types12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
210 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
211 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
212 typename T11
, typename T12
, typename T13
, typename T14
>
215 typedef Types13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
> Tail
;
218 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
219 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
220 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
223 typedef Types14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
227 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
228 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
229 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
233 typedef Types15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
237 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
238 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
239 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
240 typename T16
, typename T17
>
243 typedef Types16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
247 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
248 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
249 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
250 typename T16
, typename T17
, typename T18
>
253 typedef Types17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
257 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
258 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
259 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
260 typename T16
, typename T17
, typename T18
, typename T19
>
263 typedef Types18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
264 T16
, T17
, T18
, T19
> Tail
;
267 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
268 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
269 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
270 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
273 typedef Types19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
274 T16
, T17
, T18
, T19
, T20
> Tail
;
277 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
278 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
279 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
280 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
284 typedef Types20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
285 T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
288 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
289 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
290 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
291 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
292 typename T21
, typename T22
>
295 typedef Types21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
296 T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
299 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
300 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
301 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
302 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
303 typename T21
, typename T22
, typename T23
>
306 typedef Types22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
307 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
310 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
311 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
312 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
313 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
314 typename T21
, typename T22
, typename T23
, typename T24
>
317 typedef Types23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
318 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
321 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
322 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
323 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
324 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
325 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
328 typedef Types24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
329 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
332 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
333 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
334 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
335 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
336 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
340 typedef Types25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
341 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
344 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
345 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
346 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
347 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
348 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
349 typename T26
, typename T27
>
352 typedef Types26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
353 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
356 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
357 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
358 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
359 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
360 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
361 typename T26
, typename T27
, typename T28
>
364 typedef Types27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
365 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
> Tail
;
368 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
369 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
370 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
371 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
372 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
373 typename T26
, typename T27
, typename T28
, typename T29
>
376 typedef Types28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
377 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
381 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
382 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
383 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
384 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
385 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
386 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
389 typedef Types29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
390 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
394 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
395 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
396 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
397 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
398 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
399 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
403 typedef Types30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
404 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
408 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
409 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
410 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
411 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
412 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
413 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
414 typename T31
, typename T32
>
417 typedef Types31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
418 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
422 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
423 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
424 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
425 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
426 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
427 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
428 typename T31
, typename T32
, typename T33
>
431 typedef Types32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
432 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
433 T30
, T31
, T32
, T33
> Tail
;
436 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
437 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
438 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
439 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
440 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
441 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
442 typename T31
, typename T32
, typename T33
, typename T34
>
445 typedef Types33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
446 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
447 T30
, T31
, T32
, T33
, T34
> Tail
;
450 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
451 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
452 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
453 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
454 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
455 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
456 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
459 typedef Types34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
460 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
461 T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
464 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
465 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
466 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
467 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
468 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
469 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
470 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
474 typedef Types35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
475 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
476 T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
479 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
480 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
481 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
482 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
483 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
484 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
485 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
486 typename T36
, typename T37
>
489 typedef Types36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
490 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
491 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
494 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
495 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
496 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
497 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
498 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
499 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
500 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
501 typename T36
, typename T37
, typename T38
>
504 typedef Types37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
505 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
506 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
509 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
510 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
511 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
512 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
513 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
514 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
515 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
516 typename T36
, typename T37
, typename T38
, typename T39
>
519 typedef Types38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
520 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
521 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
524 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
525 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
526 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
527 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
528 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
529 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
530 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
531 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
534 typedef Types39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
535 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
536 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
539 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
540 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
541 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
542 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
543 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
544 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
545 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
546 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
550 typedef Types40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
551 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
552 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
555 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
556 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
557 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
558 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
559 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
560 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
561 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
562 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
563 typename T41
, typename T42
>
566 typedef Types41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
567 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
568 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
> Tail
;
571 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
572 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
573 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
574 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
575 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
576 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
577 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
578 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
579 typename T41
, typename T42
, typename T43
>
582 typedef Types42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
583 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
584 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
588 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
589 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
590 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
591 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
592 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
593 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
594 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
595 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
596 typename T41
, typename T42
, typename T43
, typename T44
>
599 typedef Types43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
600 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
601 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
605 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
606 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
607 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
608 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
609 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
610 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
611 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
612 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
613 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
616 typedef Types44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
617 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
618 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
622 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
623 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
624 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
625 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
626 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
627 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
628 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
629 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
630 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
634 typedef Types45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
635 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
636 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
640 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
641 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
642 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
643 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
644 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
645 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
646 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
647 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
648 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
649 typename T46
, typename T47
>
652 typedef Types46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
653 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
654 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
655 T44
, T45
, T46
, T47
> Tail
;
658 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
659 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
660 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
661 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
662 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
663 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
664 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
665 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
666 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
667 typename T46
, typename T47
, typename T48
>
670 typedef Types47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
671 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
672 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
673 T44
, T45
, T46
, T47
, T48
> Tail
;
676 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
677 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
678 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
679 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
680 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
681 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
682 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
683 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
684 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
685 typename T46
, typename T47
, typename T48
, typename T49
>
688 typedef Types48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
689 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
690 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
691 T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
694 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
695 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
696 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
697 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
698 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
699 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
700 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
701 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
702 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
703 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
706 typedef Types49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
707 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
708 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
709 T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
713 } // namespace internal
715 // We don't want to require the users to write TypesN<...> directly,
716 // as that would require them to count the length. Types<...> is much
717 // easier to write, but generates horrible messages when there is a
718 // compiler error, as gcc insists on printing out each template
719 // argument, even if it has the default value (this means Types<int>
720 // will appear as Types<int, None, None, ..., None> in the compiler
723 // Our solution is to combine the best part of the two approaches: a
724 // user would write Types<T1, ..., TN>, and Google Test will translate
725 // that to TypesN<T1, ..., TN> internally to make error messages
726 // readable. The translation is done by the 'type' member of the
728 template <typename T1
= internal::None
, typename T2
= internal::None
,
729 typename T3
= internal::None
, typename T4
= internal::None
,
730 typename T5
= internal::None
, typename T6
= internal::None
,
731 typename T7
= internal::None
, typename T8
= internal::None
,
732 typename T9
= internal::None
, typename T10
= internal::None
,
733 typename T11
= internal::None
, typename T12
= internal::None
,
734 typename T13
= internal::None
, typename T14
= internal::None
,
735 typename T15
= internal::None
, typename T16
= internal::None
,
736 typename T17
= internal::None
, typename T18
= internal::None
,
737 typename T19
= internal::None
, typename T20
= internal::None
,
738 typename T21
= internal::None
, typename T22
= internal::None
,
739 typename T23
= internal::None
, typename T24
= internal::None
,
740 typename T25
= internal::None
, typename T26
= internal::None
,
741 typename T27
= internal::None
, typename T28
= internal::None
,
742 typename T29
= internal::None
, typename T30
= internal::None
,
743 typename T31
= internal::None
, typename T32
= internal::None
,
744 typename T33
= internal::None
, typename T34
= internal::None
,
745 typename T35
= internal::None
, typename T36
= internal::None
,
746 typename T37
= internal::None
, typename T38
= internal::None
,
747 typename T39
= internal::None
, typename T40
= internal::None
,
748 typename T41
= internal::None
, typename T42
= internal::None
,
749 typename T43
= internal::None
, typename T44
= internal::None
,
750 typename T45
= internal::None
, typename T46
= internal::None
,
751 typename T47
= internal::None
, typename T48
= internal::None
,
752 typename T49
= internal::None
, typename T50
= internal::None
>
754 typedef internal::Types50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
755 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
756 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
757 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
761 struct Types
<internal::None
, internal::None
, internal::None
, internal::None
,
762 internal::None
, internal::None
, internal::None
, internal::None
,
763 internal::None
, internal::None
, internal::None
, internal::None
,
764 internal::None
, internal::None
, internal::None
, internal::None
,
765 internal::None
, internal::None
, internal::None
, internal::None
,
766 internal::None
, internal::None
, internal::None
, internal::None
,
767 internal::None
, internal::None
, internal::None
, internal::None
,
768 internal::None
, internal::None
, internal::None
, internal::None
,
769 internal::None
, internal::None
, internal::None
, internal::None
,
770 internal::None
, internal::None
, internal::None
, internal::None
,
771 internal::None
, internal::None
, internal::None
, internal::None
,
772 internal::None
, internal::None
, internal::None
, internal::None
,
773 internal::None
, internal::None
> {
774 typedef internal::Types0 type
;
776 template <typename T1
>
777 struct Types
<T1
, internal::None
, internal::None
, internal::None
,
778 internal::None
, internal::None
, internal::None
, internal::None
,
779 internal::None
, internal::None
, internal::None
, internal::None
,
780 internal::None
, internal::None
, internal::None
, internal::None
,
781 internal::None
, internal::None
, internal::None
, internal::None
,
782 internal::None
, internal::None
, internal::None
, internal::None
,
783 internal::None
, internal::None
, internal::None
, internal::None
,
784 internal::None
, internal::None
, internal::None
, internal::None
,
785 internal::None
, internal::None
, internal::None
, internal::None
,
786 internal::None
, internal::None
, internal::None
, internal::None
,
787 internal::None
, internal::None
, internal::None
, internal::None
,
788 internal::None
, internal::None
, internal::None
, internal::None
,
789 internal::None
, internal::None
> {
790 typedef internal::Types1
<T1
> type
;
792 template <typename T1
, typename T2
>
793 struct Types
<T1
, T2
, internal::None
, internal::None
, internal::None
,
794 internal::None
, internal::None
, internal::None
, internal::None
,
795 internal::None
, internal::None
, internal::None
, internal::None
,
796 internal::None
, internal::None
, internal::None
, internal::None
,
797 internal::None
, internal::None
, internal::None
, internal::None
,
798 internal::None
, internal::None
, internal::None
, internal::None
,
799 internal::None
, internal::None
, internal::None
, internal::None
,
800 internal::None
, internal::None
, internal::None
, internal::None
,
801 internal::None
, internal::None
, internal::None
, internal::None
,
802 internal::None
, internal::None
, internal::None
, internal::None
,
803 internal::None
, internal::None
, internal::None
, internal::None
,
804 internal::None
, internal::None
, internal::None
, internal::None
,
806 typedef internal::Types2
<T1
, T2
> type
;
808 template <typename T1
, typename T2
, typename T3
>
809 struct Types
<T1
, T2
, T3
, internal::None
, internal::None
, internal::None
,
810 internal::None
, internal::None
, internal::None
, internal::None
,
811 internal::None
, internal::None
, internal::None
, internal::None
,
812 internal::None
, internal::None
, internal::None
, internal::None
,
813 internal::None
, internal::None
, internal::None
, internal::None
,
814 internal::None
, internal::None
, internal::None
, internal::None
,
815 internal::None
, internal::None
, internal::None
, internal::None
,
816 internal::None
, internal::None
, internal::None
, internal::None
,
817 internal::None
, internal::None
, internal::None
, internal::None
,
818 internal::None
, internal::None
, internal::None
, internal::None
,
819 internal::None
, internal::None
, internal::None
, internal::None
,
820 internal::None
, internal::None
, internal::None
, internal::None
> {
821 typedef internal::Types3
<T1
, T2
, T3
> type
;
823 template <typename T1
, typename T2
, typename T3
, typename T4
>
824 struct Types
<T1
, T2
, T3
, T4
, internal::None
, internal::None
, internal::None
,
825 internal::None
, internal::None
, internal::None
, internal::None
,
826 internal::None
, internal::None
, internal::None
, internal::None
,
827 internal::None
, internal::None
, internal::None
, internal::None
,
828 internal::None
, internal::None
, internal::None
, internal::None
,
829 internal::None
, internal::None
, internal::None
, internal::None
,
830 internal::None
, internal::None
, internal::None
, internal::None
,
831 internal::None
, internal::None
, internal::None
, internal::None
,
832 internal::None
, internal::None
, internal::None
, internal::None
,
833 internal::None
, internal::None
, internal::None
, internal::None
,
834 internal::None
, internal::None
, internal::None
, internal::None
,
835 internal::None
, internal::None
, internal::None
> {
836 typedef internal::Types4
<T1
, T2
, T3
, T4
> type
;
838 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
>
839 struct Types
<T1
, T2
, T3
, T4
, T5
, internal::None
, internal::None
,
840 internal::None
, internal::None
, internal::None
, internal::None
,
841 internal::None
, internal::None
, internal::None
, internal::None
,
842 internal::None
, internal::None
, internal::None
, internal::None
,
843 internal::None
, internal::None
, internal::None
, internal::None
,
844 internal::None
, internal::None
, internal::None
, internal::None
,
845 internal::None
, internal::None
, internal::None
, internal::None
,
846 internal::None
, internal::None
, internal::None
, internal::None
,
847 internal::None
, internal::None
, internal::None
, internal::None
,
848 internal::None
, internal::None
, internal::None
, internal::None
,
849 internal::None
, internal::None
, internal::None
, internal::None
,
850 internal::None
, internal::None
, internal::None
> {
851 typedef internal::Types5
<T1
, T2
, T3
, T4
, T5
> type
;
853 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
855 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, internal::None
, internal::None
,
856 internal::None
, internal::None
, internal::None
, internal::None
,
857 internal::None
, internal::None
, internal::None
, internal::None
,
858 internal::None
, internal::None
, internal::None
, internal::None
,
859 internal::None
, internal::None
, internal::None
, internal::None
,
860 internal::None
, internal::None
, internal::None
, internal::None
,
861 internal::None
, internal::None
, internal::None
, internal::None
,
862 internal::None
, internal::None
, internal::None
, internal::None
,
863 internal::None
, internal::None
, internal::None
, internal::None
,
864 internal::None
, internal::None
, internal::None
, internal::None
,
865 internal::None
, internal::None
, internal::None
, internal::None
,
866 internal::None
, internal::None
> {
867 typedef internal::Types6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
869 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
870 typename T6
, typename T7
>
871 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, internal::None
, internal::None
,
872 internal::None
, internal::None
, internal::None
, internal::None
,
873 internal::None
, internal::None
, internal::None
, internal::None
,
874 internal::None
, internal::None
, internal::None
, internal::None
,
875 internal::None
, internal::None
, internal::None
, internal::None
,
876 internal::None
, internal::None
, internal::None
, internal::None
,
877 internal::None
, internal::None
, internal::None
, internal::None
,
878 internal::None
, internal::None
, internal::None
, internal::None
,
879 internal::None
, internal::None
, internal::None
, internal::None
,
880 internal::None
, internal::None
, internal::None
, internal::None
,
881 internal::None
, internal::None
, internal::None
, internal::None
,
883 typedef internal::Types7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
885 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
886 typename T6
, typename T7
, typename T8
>
887 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, internal::None
, internal::None
,
888 internal::None
, internal::None
, internal::None
, internal::None
,
889 internal::None
, internal::None
, internal::None
, internal::None
,
890 internal::None
, internal::None
, internal::None
, internal::None
,
891 internal::None
, internal::None
, internal::None
, internal::None
,
892 internal::None
, internal::None
, internal::None
, internal::None
,
893 internal::None
, internal::None
, internal::None
, internal::None
,
894 internal::None
, internal::None
, internal::None
, internal::None
,
895 internal::None
, internal::None
, internal::None
, internal::None
,
896 internal::None
, internal::None
, internal::None
, internal::None
,
897 internal::None
, internal::None
, internal::None
, internal::None
> {
898 typedef internal::Types8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
900 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
901 typename T6
, typename T7
, typename T8
, typename T9
>
902 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, internal::None
,
903 internal::None
, internal::None
, internal::None
, internal::None
,
904 internal::None
, internal::None
, internal::None
, internal::None
,
905 internal::None
, internal::None
, internal::None
, internal::None
,
906 internal::None
, internal::None
, internal::None
, internal::None
,
907 internal::None
, internal::None
, internal::None
, internal::None
,
908 internal::None
, internal::None
, internal::None
, internal::None
,
909 internal::None
, internal::None
, internal::None
, internal::None
,
910 internal::None
, internal::None
, internal::None
, internal::None
,
911 internal::None
, internal::None
, internal::None
, internal::None
,
912 internal::None
, internal::None
, internal::None
, internal::None
> {
913 typedef internal::Types9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
915 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
916 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
>
917 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, internal::None
,
918 internal::None
, internal::None
, internal::None
, internal::None
,
919 internal::None
, internal::None
, internal::None
, internal::None
,
920 internal::None
, internal::None
, internal::None
, internal::None
,
921 internal::None
, internal::None
, internal::None
, internal::None
,
922 internal::None
, internal::None
, internal::None
, internal::None
,
923 internal::None
, internal::None
, internal::None
, internal::None
,
924 internal::None
, internal::None
, internal::None
, internal::None
,
925 internal::None
, internal::None
, internal::None
, internal::None
,
926 internal::None
, internal::None
, internal::None
, internal::None
,
927 internal::None
, internal::None
, internal::None
> {
928 typedef internal::Types10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
930 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
931 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
933 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, internal::None
,
934 internal::None
, internal::None
, internal::None
, internal::None
,
935 internal::None
, internal::None
, internal::None
, internal::None
,
936 internal::None
, internal::None
, internal::None
, internal::None
,
937 internal::None
, internal::None
, internal::None
, internal::None
,
938 internal::None
, internal::None
, internal::None
, internal::None
,
939 internal::None
, internal::None
, internal::None
, internal::None
,
940 internal::None
, internal::None
, internal::None
, internal::None
,
941 internal::None
, internal::None
, internal::None
, internal::None
,
942 internal::None
, internal::None
, internal::None
, internal::None
,
943 internal::None
, internal::None
> {
944 typedef internal::Types11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
946 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
947 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
948 typename T11
, typename T12
>
949 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, internal::None
,
950 internal::None
, internal::None
, internal::None
, internal::None
,
951 internal::None
, internal::None
, internal::None
, internal::None
,
952 internal::None
, internal::None
, internal::None
, internal::None
,
953 internal::None
, internal::None
, internal::None
, internal::None
,
954 internal::None
, internal::None
, internal::None
, internal::None
,
955 internal::None
, internal::None
, internal::None
, internal::None
,
956 internal::None
, internal::None
, internal::None
, internal::None
,
957 internal::None
, internal::None
, internal::None
, internal::None
,
958 internal::None
, internal::None
, internal::None
, internal::None
,
960 typedef internal::Types12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
,
963 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
964 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
965 typename T11
, typename T12
, typename T13
>
966 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
967 internal::None
, internal::None
, internal::None
, internal::None
,
968 internal::None
, internal::None
, internal::None
, internal::None
,
969 internal::None
, internal::None
, internal::None
, internal::None
,
970 internal::None
, internal::None
, internal::None
, internal::None
,
971 internal::None
, internal::None
, internal::None
, internal::None
,
972 internal::None
, internal::None
, internal::None
, internal::None
,
973 internal::None
, internal::None
, internal::None
, internal::None
,
974 internal::None
, internal::None
, internal::None
, internal::None
,
975 internal::None
, internal::None
, internal::None
, internal::None
,
977 typedef internal::Types13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
980 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
981 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
982 typename T11
, typename T12
, typename T13
, typename T14
>
983 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
984 internal::None
, internal::None
, internal::None
, internal::None
,
985 internal::None
, internal::None
, internal::None
, internal::None
,
986 internal::None
, internal::None
, internal::None
, internal::None
,
987 internal::None
, internal::None
, internal::None
, internal::None
,
988 internal::None
, internal::None
, internal::None
, internal::None
,
989 internal::None
, internal::None
, internal::None
, internal::None
,
990 internal::None
, internal::None
, internal::None
, internal::None
,
991 internal::None
, internal::None
, internal::None
, internal::None
,
992 internal::None
, internal::None
, internal::None
, internal::None
> {
993 typedef internal::Types14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
996 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
997 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
998 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
>
999 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1000 internal::None
, internal::None
, internal::None
, internal::None
,
1001 internal::None
, internal::None
, internal::None
, internal::None
,
1002 internal::None
, internal::None
, internal::None
, internal::None
,
1003 internal::None
, internal::None
, internal::None
, internal::None
,
1004 internal::None
, internal::None
, internal::None
, internal::None
,
1005 internal::None
, internal::None
, internal::None
, internal::None
,
1006 internal::None
, internal::None
, internal::None
, internal::None
,
1007 internal::None
, internal::None
, internal::None
, internal::None
,
1008 internal::None
, internal::None
, internal::None
> {
1009 typedef internal::Types15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1010 T13
, T14
, T15
> type
;
1012 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1013 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1014 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1016 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1017 T16
, internal::None
, internal::None
, internal::None
, internal::None
,
1018 internal::None
, internal::None
, internal::None
, internal::None
,
1019 internal::None
, internal::None
, internal::None
, internal::None
,
1020 internal::None
, internal::None
, internal::None
, internal::None
,
1021 internal::None
, internal::None
, internal::None
, internal::None
,
1022 internal::None
, internal::None
, internal::None
, internal::None
,
1023 internal::None
, internal::None
, internal::None
, internal::None
,
1024 internal::None
, internal::None
, internal::None
, internal::None
,
1025 internal::None
, internal::None
> {
1026 typedef internal::Types16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1027 T13
, T14
, T15
, T16
> type
;
1029 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1030 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1031 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1032 typename T16
, typename T17
>
1033 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1034 T16
, T17
, internal::None
, internal::None
, internal::None
, internal::None
,
1035 internal::None
, internal::None
, internal::None
, internal::None
,
1036 internal::None
, internal::None
, internal::None
, internal::None
,
1037 internal::None
, internal::None
, internal::None
, internal::None
,
1038 internal::None
, internal::None
, internal::None
, internal::None
,
1039 internal::None
, internal::None
, internal::None
, internal::None
,
1040 internal::None
, internal::None
, internal::None
, internal::None
,
1041 internal::None
, internal::None
, internal::None
, internal::None
,
1043 typedef internal::Types17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1044 T13
, T14
, T15
, T16
, T17
> type
;
1046 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1047 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1048 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1049 typename T16
, typename T17
, typename T18
>
1050 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1051 T16
, T17
, T18
, internal::None
, internal::None
, internal::None
,
1052 internal::None
, internal::None
, internal::None
, internal::None
,
1053 internal::None
, internal::None
, internal::None
, internal::None
,
1054 internal::None
, internal::None
, internal::None
, internal::None
,
1055 internal::None
, internal::None
, internal::None
, internal::None
,
1056 internal::None
, internal::None
, internal::None
, internal::None
,
1057 internal::None
, internal::None
, internal::None
, internal::None
,
1058 internal::None
, internal::None
, internal::None
, internal::None
,
1060 typedef internal::Types18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1061 T13
, T14
, T15
, T16
, T17
, T18
> type
;
1063 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1064 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1065 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1066 typename T16
, typename T17
, typename T18
, typename T19
>
1067 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1068 T16
, T17
, T18
, T19
, internal::None
, internal::None
, internal::None
,
1069 internal::None
, internal::None
, internal::None
, internal::None
,
1070 internal::None
, internal::None
, internal::None
, internal::None
,
1071 internal::None
, internal::None
, internal::None
, internal::None
,
1072 internal::None
, internal::None
, internal::None
, internal::None
,
1073 internal::None
, internal::None
, internal::None
, internal::None
,
1074 internal::None
, internal::None
, internal::None
, internal::None
,
1075 internal::None
, internal::None
, internal::None
, internal::None
> {
1076 typedef internal::Types19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1077 T13
, T14
, T15
, T16
, T17
, T18
, T19
> type
;
1079 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1080 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1081 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1082 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
>
1083 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1084 T16
, T17
, T18
, T19
, T20
, internal::None
, internal::None
, internal::None
,
1085 internal::None
, internal::None
, internal::None
, internal::None
,
1086 internal::None
, internal::None
, internal::None
, internal::None
,
1087 internal::None
, internal::None
, internal::None
, internal::None
,
1088 internal::None
, internal::None
, internal::None
, internal::None
,
1089 internal::None
, internal::None
, internal::None
, internal::None
,
1090 internal::None
, internal::None
, internal::None
, internal::None
,
1091 internal::None
, internal::None
, internal::None
> {
1092 typedef internal::Types20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1093 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
1095 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1096 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1097 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1098 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1100 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1101 T16
, T17
, T18
, T19
, T20
, T21
, internal::None
, internal::None
,
1102 internal::None
, internal::None
, internal::None
, internal::None
,
1103 internal::None
, internal::None
, internal::None
, internal::None
,
1104 internal::None
, internal::None
, internal::None
, internal::None
,
1105 internal::None
, internal::None
, internal::None
, internal::None
,
1106 internal::None
, internal::None
, internal::None
, internal::None
,
1107 internal::None
, internal::None
, internal::None
, internal::None
,
1108 internal::None
, internal::None
, internal::None
> {
1109 typedef internal::Types21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1110 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
1112 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1113 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1114 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1115 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1116 typename T21
, typename T22
>
1117 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1118 T16
, T17
, T18
, T19
, T20
, T21
, T22
, internal::None
, internal::None
,
1119 internal::None
, internal::None
, internal::None
, internal::None
,
1120 internal::None
, internal::None
, internal::None
, internal::None
,
1121 internal::None
, internal::None
, internal::None
, internal::None
,
1122 internal::None
, internal::None
, internal::None
, internal::None
,
1123 internal::None
, internal::None
, internal::None
, internal::None
,
1124 internal::None
, internal::None
, internal::None
, internal::None
,
1125 internal::None
, internal::None
> {
1126 typedef internal::Types22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1127 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
1129 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1130 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1131 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1132 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1133 typename T21
, typename T22
, typename T23
>
1134 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1135 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, internal::None
, internal::None
,
1136 internal::None
, internal::None
, internal::None
, internal::None
,
1137 internal::None
, internal::None
, internal::None
, internal::None
,
1138 internal::None
, internal::None
, internal::None
, internal::None
,
1139 internal::None
, internal::None
, internal::None
, internal::None
,
1140 internal::None
, internal::None
, internal::None
, internal::None
,
1141 internal::None
, internal::None
, internal::None
, internal::None
,
1143 typedef internal::Types23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1144 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
1146 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1147 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1148 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1149 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1150 typename T21
, typename T22
, typename T23
, typename T24
>
1151 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1152 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, internal::None
,
1153 internal::None
, internal::None
, internal::None
, internal::None
,
1154 internal::None
, internal::None
, internal::None
, internal::None
,
1155 internal::None
, internal::None
, internal::None
, internal::None
,
1156 internal::None
, internal::None
, internal::None
, internal::None
,
1157 internal::None
, internal::None
, internal::None
, internal::None
,
1158 internal::None
, internal::None
, internal::None
, internal::None
,
1160 typedef internal::Types24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1161 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
1163 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1164 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1165 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1166 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1167 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
>
1168 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1169 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, internal::None
,
1170 internal::None
, internal::None
, internal::None
, internal::None
,
1171 internal::None
, internal::None
, internal::None
, internal::None
,
1172 internal::None
, internal::None
, internal::None
, internal::None
,
1173 internal::None
, internal::None
, internal::None
, internal::None
,
1174 internal::None
, internal::None
, internal::None
, internal::None
,
1175 internal::None
, internal::None
, internal::None
, internal::None
> {
1176 typedef internal::Types25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1177 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
1179 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1180 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1181 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1182 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1183 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1185 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1186 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, internal::None
,
1187 internal::None
, internal::None
, internal::None
, internal::None
,
1188 internal::None
, internal::None
, internal::None
, internal::None
,
1189 internal::None
, internal::None
, internal::None
, internal::None
,
1190 internal::None
, internal::None
, internal::None
, internal::None
,
1191 internal::None
, internal::None
, internal::None
, internal::None
,
1192 internal::None
, internal::None
, internal::None
> {
1193 typedef internal::Types26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1194 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
,
1197 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1198 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1199 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1200 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1201 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1202 typename T26
, typename T27
>
1203 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1204 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, internal::None
,
1205 internal::None
, internal::None
, internal::None
, internal::None
,
1206 internal::None
, internal::None
, internal::None
, internal::None
,
1207 internal::None
, internal::None
, internal::None
, internal::None
,
1208 internal::None
, internal::None
, internal::None
, internal::None
,
1209 internal::None
, internal::None
, internal::None
, internal::None
,
1210 internal::None
, internal::None
> {
1211 typedef internal::Types27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1212 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1215 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1216 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1217 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1218 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1219 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1220 typename T26
, typename T27
, typename T28
>
1221 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1222 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1223 internal::None
, internal::None
, internal::None
, internal::None
,
1224 internal::None
, internal::None
, internal::None
, internal::None
,
1225 internal::None
, internal::None
, internal::None
, internal::None
,
1226 internal::None
, internal::None
, internal::None
, internal::None
,
1227 internal::None
, internal::None
, internal::None
, internal::None
,
1228 internal::None
, internal::None
> {
1229 typedef internal::Types28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1230 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1233 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1234 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1235 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1236 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1237 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1238 typename T26
, typename T27
, typename T28
, typename T29
>
1239 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1240 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
1241 internal::None
, internal::None
, internal::None
, internal::None
,
1242 internal::None
, internal::None
, internal::None
, internal::None
,
1243 internal::None
, internal::None
, internal::None
, internal::None
,
1244 internal::None
, internal::None
, internal::None
, internal::None
,
1245 internal::None
, internal::None
, internal::None
, internal::None
,
1247 typedef internal::Types29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1248 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1249 T27
, T28
, T29
> type
;
1251 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1252 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1253 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1254 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1255 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1256 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
>
1257 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1258 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1259 internal::None
, internal::None
, internal::None
, internal::None
,
1260 internal::None
, internal::None
, internal::None
, internal::None
,
1261 internal::None
, internal::None
, internal::None
, internal::None
,
1262 internal::None
, internal::None
, internal::None
, internal::None
,
1263 internal::None
, internal::None
, internal::None
, internal::None
> {
1264 typedef internal::Types30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1265 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1266 T27
, T28
, T29
, T30
> type
;
1268 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1269 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1270 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1271 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1272 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1273 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1275 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1276 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1277 T31
, internal::None
, internal::None
, internal::None
, internal::None
,
1278 internal::None
, internal::None
, internal::None
, internal::None
,
1279 internal::None
, internal::None
, internal::None
, internal::None
,
1280 internal::None
, internal::None
, internal::None
, internal::None
,
1281 internal::None
, internal::None
, internal::None
> {
1282 typedef internal::Types31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1283 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1284 T27
, T28
, T29
, T30
, T31
> type
;
1286 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1287 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1288 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1289 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1290 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1291 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1292 typename T31
, typename T32
>
1293 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1294 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1295 T31
, T32
, internal::None
, internal::None
, internal::None
, internal::None
,
1296 internal::None
, internal::None
, internal::None
, internal::None
,
1297 internal::None
, internal::None
, internal::None
, internal::None
,
1298 internal::None
, internal::None
, internal::None
, internal::None
,
1299 internal::None
, internal::None
> {
1300 typedef internal::Types32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1301 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1302 T27
, T28
, T29
, T30
, T31
, T32
> type
;
1304 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1305 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1306 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1307 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1308 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1309 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1310 typename T31
, typename T32
, typename T33
>
1311 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1312 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1313 T31
, T32
, T33
, internal::None
, internal::None
, internal::None
,
1314 internal::None
, internal::None
, internal::None
, internal::None
,
1315 internal::None
, internal::None
, internal::None
, internal::None
,
1316 internal::None
, internal::None
, internal::None
, internal::None
,
1317 internal::None
, internal::None
> {
1318 typedef internal::Types33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1319 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1320 T27
, T28
, T29
, T30
, T31
, T32
, T33
> type
;
1322 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1323 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1324 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1325 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1326 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1327 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1328 typename T31
, typename T32
, typename T33
, typename T34
>
1329 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1330 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1331 T31
, T32
, T33
, T34
, internal::None
, internal::None
, internal::None
,
1332 internal::None
, internal::None
, internal::None
, internal::None
,
1333 internal::None
, internal::None
, internal::None
, internal::None
,
1334 internal::None
, internal::None
, internal::None
, internal::None
,
1336 typedef internal::Types34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1337 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1338 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
1340 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1341 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1342 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1343 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1344 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1345 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1346 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
>
1347 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1348 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1349 T31
, T32
, T33
, T34
, T35
, internal::None
, internal::None
, internal::None
,
1350 internal::None
, internal::None
, internal::None
, internal::None
,
1351 internal::None
, internal::None
, internal::None
, internal::None
,
1352 internal::None
, internal::None
, internal::None
, internal::None
> {
1353 typedef internal::Types35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1354 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1355 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
1357 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1358 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1359 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1360 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1361 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1362 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1363 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1365 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1366 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1367 T31
, T32
, T33
, T34
, T35
, T36
, internal::None
, internal::None
,
1368 internal::None
, internal::None
, internal::None
, internal::None
,
1369 internal::None
, internal::None
, internal::None
, internal::None
,
1370 internal::None
, internal::None
, internal::None
, internal::None
> {
1371 typedef internal::Types36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1372 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1373 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
1375 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1376 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1377 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1378 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1379 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1380 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1381 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1382 typename T36
, typename T37
>
1383 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1384 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1385 T31
, T32
, T33
, T34
, T35
, T36
, T37
, internal::None
, internal::None
,
1386 internal::None
, internal::None
, internal::None
, internal::None
,
1387 internal::None
, internal::None
, internal::None
, internal::None
,
1388 internal::None
, internal::None
, internal::None
> {
1389 typedef internal::Types37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1390 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1391 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
1393 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1394 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1395 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1396 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1397 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1398 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1399 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1400 typename T36
, typename T37
, typename T38
>
1401 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1402 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1403 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, internal::None
, internal::None
,
1404 internal::None
, internal::None
, internal::None
, internal::None
,
1405 internal::None
, internal::None
, internal::None
, internal::None
,
1406 internal::None
, internal::None
> {
1407 typedef internal::Types38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1408 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1409 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
1411 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1412 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1413 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1414 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1415 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1416 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1417 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1418 typename T36
, typename T37
, typename T38
, typename T39
>
1419 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1420 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1421 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, internal::None
,
1422 internal::None
, internal::None
, internal::None
, internal::None
,
1423 internal::None
, internal::None
, internal::None
, internal::None
,
1424 internal::None
, internal::None
> {
1425 typedef internal::Types39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1426 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1427 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
1429 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1430 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1431 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1432 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1433 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1434 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1435 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1436 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
>
1437 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1438 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1439 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, internal::None
,
1440 internal::None
, internal::None
, internal::None
, internal::None
,
1441 internal::None
, internal::None
, internal::None
, internal::None
,
1443 typedef internal::Types40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1444 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1445 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
,
1448 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1449 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1450 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1451 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1452 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1453 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1454 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1455 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1457 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1458 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1459 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, internal::None
,
1460 internal::None
, internal::None
, internal::None
, internal::None
,
1461 internal::None
, internal::None
, internal::None
, internal::None
> {
1462 typedef internal::Types41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1463 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1464 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1467 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1468 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1469 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1470 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1471 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1472 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1473 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1474 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1475 typename T41
, typename T42
>
1476 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1477 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1478 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, internal::None
,
1479 internal::None
, internal::None
, internal::None
, internal::None
,
1480 internal::None
, internal::None
, internal::None
> {
1481 typedef internal::Types42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1482 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1483 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1486 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1487 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1488 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1489 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1490 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1491 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1492 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1493 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1494 typename T41
, typename T42
, typename T43
>
1495 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1496 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1497 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
1498 internal::None
, internal::None
, internal::None
, internal::None
,
1499 internal::None
, internal::None
, internal::None
> {
1500 typedef internal::Types43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1501 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1502 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1503 T41
, T42
, T43
> type
;
1505 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1506 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1507 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1508 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1509 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1510 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1511 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1512 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1513 typename T41
, typename T42
, typename T43
, typename T44
>
1514 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1515 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1516 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
1517 internal::None
, internal::None
, internal::None
, internal::None
,
1518 internal::None
, internal::None
> {
1519 typedef internal::Types44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1520 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1521 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1522 T41
, T42
, T43
, T44
> type
;
1524 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1525 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1526 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1527 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1528 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1529 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1530 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1531 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1532 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
>
1533 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1534 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1535 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1536 internal::None
, internal::None
, internal::None
, internal::None
,
1538 typedef internal::Types45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1539 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1540 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1541 T41
, T42
, T43
, T44
, T45
> type
;
1543 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1544 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1545 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1546 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1547 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1548 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1549 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1550 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1551 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1553 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1554 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1555 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1556 T46
, internal::None
, internal::None
, internal::None
, internal::None
> {
1557 typedef internal::Types46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1558 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1559 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1560 T41
, T42
, T43
, T44
, T45
, T46
> type
;
1562 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1563 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1564 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1565 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1566 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1567 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1568 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1569 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1570 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1571 typename T46
, typename T47
>
1572 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1573 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1574 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1575 T46
, T47
, internal::None
, internal::None
, internal::None
> {
1576 typedef internal::Types47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1577 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1578 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1579 T41
, T42
, T43
, T44
, T45
, T46
, T47
> type
;
1581 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1582 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1583 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1584 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1585 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1586 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1587 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1588 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1589 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1590 typename T46
, typename T47
, typename T48
>
1591 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1592 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1593 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1594 T46
, T47
, T48
, internal::None
, internal::None
> {
1595 typedef internal::Types48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1596 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1597 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1598 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
1600 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
1601 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
1602 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
1603 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
1604 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
1605 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
1606 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
1607 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
1608 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
1609 typename T46
, typename T47
, typename T48
, typename T49
>
1610 struct Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
, T15
,
1611 T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
, T30
,
1612 T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
, T45
,
1613 T46
, T47
, T48
, T49
, internal::None
> {
1614 typedef internal::Types49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
1615 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
1616 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
1617 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
1620 namespace internal
{
1622 # define GTEST_TEMPLATE_ template <typename T> class
1624 // The template "selector" struct TemplateSel<Tmpl> is used to
1625 // represent Tmpl, which must be a class template with one type
1626 // parameter, as a type. TemplateSel<Tmpl>::Bind<T>::type is defined
1627 // as the type Tmpl<T>. This allows us to actually instantiate the
1628 // template "selected" by TemplateSel<Tmpl>.
1630 // This trick is necessary for simulating typedef for class templates,
1631 // which C++ doesn't support directly.
1632 template <GTEST_TEMPLATE_ Tmpl
>
1633 struct TemplateSel
{
1634 template <typename T
>
1636 typedef Tmpl
<T
> type
;
1640 # define GTEST_BIND_(TmplSel, T) \
1641 TmplSel::template Bind<T>::type
1643 // A unique struct template used as the default value for the
1644 // arguments of class template Templates. This allows us to simulate
1645 // variadic templates (e.g. Templates<int>, Templates<int, double>,
1646 // and etc), which C++ doesn't support directly.
1647 template <typename T
>
1650 // The following family of struct and struct templates are used to
1651 // represent template lists. In particular, TemplatesN<T1, T2, ...,
1652 // TN> represents a list of N templates (T1, T2, ..., and TN). Except
1653 // for Templates0, every struct in the family has two member types:
1654 // Head for the selector of the first template in the list, and Tail
1655 // for the rest of the list.
1657 // The empty template list.
1658 struct Templates0
{};
1660 // Template lists of length 1, 2, 3, and so on.
1662 template <GTEST_TEMPLATE_ T1
>
1664 typedef TemplateSel
<T1
> Head
;
1665 typedef Templates0 Tail
;
1667 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
1669 typedef TemplateSel
<T1
> Head
;
1670 typedef Templates1
<T2
> Tail
;
1673 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
1675 typedef TemplateSel
<T1
> Head
;
1676 typedef Templates2
<T2
, T3
> Tail
;
1679 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1682 typedef TemplateSel
<T1
> Head
;
1683 typedef Templates3
<T2
, T3
, T4
> Tail
;
1686 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1687 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
1689 typedef TemplateSel
<T1
> Head
;
1690 typedef Templates4
<T2
, T3
, T4
, T5
> Tail
;
1693 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1694 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
1696 typedef TemplateSel
<T1
> Head
;
1697 typedef Templates5
<T2
, T3
, T4
, T5
, T6
> Tail
;
1700 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1701 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1704 typedef TemplateSel
<T1
> Head
;
1705 typedef Templates6
<T2
, T3
, T4
, T5
, T6
, T7
> Tail
;
1708 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1709 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1710 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
1712 typedef TemplateSel
<T1
> Head
;
1713 typedef Templates7
<T2
, T3
, T4
, T5
, T6
, T7
, T8
> Tail
;
1716 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1717 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1718 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
1720 typedef TemplateSel
<T1
> Head
;
1721 typedef Templates8
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> Tail
;
1724 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1725 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1726 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1727 GTEST_TEMPLATE_ T10
>
1728 struct Templates10
{
1729 typedef TemplateSel
<T1
> Head
;
1730 typedef Templates9
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> Tail
;
1733 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1734 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1735 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1736 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
1737 struct Templates11
{
1738 typedef TemplateSel
<T1
> Head
;
1739 typedef Templates10
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> Tail
;
1742 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1743 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1744 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1745 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
1746 struct Templates12
{
1747 typedef TemplateSel
<T1
> Head
;
1748 typedef Templates11
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> Tail
;
1751 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1752 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1753 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1754 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1755 GTEST_TEMPLATE_ T13
>
1756 struct Templates13
{
1757 typedef TemplateSel
<T1
> Head
;
1758 typedef Templates12
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
> Tail
;
1761 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1762 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1763 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1764 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1765 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
1766 struct Templates14
{
1767 typedef TemplateSel
<T1
> Head
;
1768 typedef Templates13
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
1772 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1773 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1774 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1775 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1776 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
1777 struct Templates15
{
1778 typedef TemplateSel
<T1
> Head
;
1779 typedef Templates14
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1783 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1784 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1785 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1786 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1787 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1788 GTEST_TEMPLATE_ T16
>
1789 struct Templates16
{
1790 typedef TemplateSel
<T1
> Head
;
1791 typedef Templates15
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1795 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1796 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1797 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1798 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1799 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1800 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
1801 struct Templates17
{
1802 typedef TemplateSel
<T1
> Head
;
1803 typedef Templates16
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1804 T15
, T16
, T17
> Tail
;
1807 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1808 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1809 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1810 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1811 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1812 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
1813 struct Templates18
{
1814 typedef TemplateSel
<T1
> Head
;
1815 typedef Templates17
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1816 T15
, T16
, T17
, T18
> Tail
;
1819 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1820 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1821 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1822 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1823 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1824 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1825 GTEST_TEMPLATE_ T19
>
1826 struct Templates19
{
1827 typedef TemplateSel
<T1
> Head
;
1828 typedef Templates18
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1829 T15
, T16
, T17
, T18
, T19
> Tail
;
1832 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1833 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1834 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1835 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1836 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1837 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1838 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
1839 struct Templates20
{
1840 typedef TemplateSel
<T1
> Head
;
1841 typedef Templates19
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1842 T15
, T16
, T17
, T18
, T19
, T20
> Tail
;
1845 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1846 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1847 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1848 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1849 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1850 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1851 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
1852 struct Templates21
{
1853 typedef TemplateSel
<T1
> Head
;
1854 typedef Templates20
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1855 T15
, T16
, T17
, T18
, T19
, T20
, T21
> Tail
;
1858 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1859 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1860 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1861 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1862 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1863 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1864 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1865 GTEST_TEMPLATE_ T22
>
1866 struct Templates22
{
1867 typedef TemplateSel
<T1
> Head
;
1868 typedef Templates21
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1869 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> Tail
;
1872 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1873 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1874 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1875 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1876 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1877 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1878 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1879 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
1880 struct Templates23
{
1881 typedef TemplateSel
<T1
> Head
;
1882 typedef Templates22
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1883 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> Tail
;
1886 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1887 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1888 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1889 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1890 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1891 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1892 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1893 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
1894 struct Templates24
{
1895 typedef TemplateSel
<T1
> Head
;
1896 typedef Templates23
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1897 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> Tail
;
1900 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1901 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1902 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1903 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1904 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1905 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1906 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1907 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1908 GTEST_TEMPLATE_ T25
>
1909 struct Templates25
{
1910 typedef TemplateSel
<T1
> Head
;
1911 typedef Templates24
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1912 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> Tail
;
1915 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1916 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1917 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1918 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1919 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1920 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1921 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1922 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1923 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
1924 struct Templates26
{
1925 typedef TemplateSel
<T1
> Head
;
1926 typedef Templates25
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1927 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> Tail
;
1930 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1931 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1932 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1933 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1934 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1935 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1936 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1937 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1938 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
1939 struct Templates27
{
1940 typedef TemplateSel
<T1
> Head
;
1941 typedef Templates26
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1942 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
> Tail
;
1945 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1946 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1947 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1948 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1949 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1950 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1951 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1952 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1953 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1954 GTEST_TEMPLATE_ T28
>
1955 struct Templates28
{
1956 typedef TemplateSel
<T1
> Head
;
1957 typedef Templates27
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1958 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
1962 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1963 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1964 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1965 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1966 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1967 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1968 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1969 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1970 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1971 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
1972 struct Templates29
{
1973 typedef TemplateSel
<T1
> Head
;
1974 typedef Templates28
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1975 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1979 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1980 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1981 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1982 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
1983 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
1984 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
1985 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
1986 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
1987 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
1988 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
1989 struct Templates30
{
1990 typedef TemplateSel
<T1
> Head
;
1991 typedef Templates29
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
1992 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
1996 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
1997 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
1998 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
1999 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2000 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2001 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2002 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2003 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2004 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2005 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2006 GTEST_TEMPLATE_ T31
>
2007 struct Templates31
{
2008 typedef TemplateSel
<T1
> Head
;
2009 typedef Templates30
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2010 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2011 T29
, T30
, T31
> Tail
;
2014 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2015 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2016 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2017 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2018 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2019 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2020 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2021 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2022 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2023 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2024 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2025 struct Templates32
{
2026 typedef TemplateSel
<T1
> Head
;
2027 typedef Templates31
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2028 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2029 T29
, T30
, T31
, T32
> Tail
;
2032 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2033 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2034 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2035 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2036 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2037 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2038 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2039 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2040 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2041 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2042 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2043 struct Templates33
{
2044 typedef TemplateSel
<T1
> Head
;
2045 typedef Templates32
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2046 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2047 T29
, T30
, T31
, T32
, T33
> Tail
;
2050 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2051 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2052 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2053 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2054 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2055 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2056 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2057 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2058 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2059 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2060 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2061 GTEST_TEMPLATE_ T34
>
2062 struct Templates34
{
2063 typedef TemplateSel
<T1
> Head
;
2064 typedef Templates33
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2065 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2066 T29
, T30
, T31
, T32
, T33
, T34
> Tail
;
2069 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2070 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2071 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2072 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2073 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2074 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2075 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2076 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2077 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2078 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2079 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2080 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2081 struct Templates35
{
2082 typedef TemplateSel
<T1
> Head
;
2083 typedef Templates34
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2084 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2085 T29
, T30
, T31
, T32
, T33
, T34
, T35
> Tail
;
2088 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2089 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2090 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2091 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2092 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2093 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2094 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2095 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2096 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2097 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2098 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2099 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2100 struct Templates36
{
2101 typedef TemplateSel
<T1
> Head
;
2102 typedef Templates35
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2103 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2104 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> Tail
;
2107 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2108 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2109 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2110 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2111 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2112 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2113 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2114 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2115 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2116 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2117 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2118 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2119 GTEST_TEMPLATE_ T37
>
2120 struct Templates37
{
2121 typedef TemplateSel
<T1
> Head
;
2122 typedef Templates36
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2123 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2124 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> Tail
;
2127 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2128 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2129 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2130 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2131 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2132 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2133 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2134 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2135 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2136 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2137 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2138 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2139 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
2140 struct Templates38
{
2141 typedef TemplateSel
<T1
> Head
;
2142 typedef Templates37
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2143 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2144 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> Tail
;
2147 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2148 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2149 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2150 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2151 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2152 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2153 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2154 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2155 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2156 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2157 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2158 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2159 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
2160 struct Templates39
{
2161 typedef TemplateSel
<T1
> Head
;
2162 typedef Templates38
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2163 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2164 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> Tail
;
2167 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2168 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2169 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2170 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2171 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2172 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2173 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2174 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2175 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2176 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2177 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2178 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2179 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2180 GTEST_TEMPLATE_ T40
>
2181 struct Templates40
{
2182 typedef TemplateSel
<T1
> Head
;
2183 typedef Templates39
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2184 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2185 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> Tail
;
2188 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2189 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2190 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2191 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2192 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2193 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2194 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2195 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2196 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2197 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2198 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2199 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2200 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2201 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
2202 struct Templates41
{
2203 typedef TemplateSel
<T1
> Head
;
2204 typedef Templates40
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2205 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2206 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
> Tail
;
2209 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2210 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2211 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2212 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2213 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2214 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2215 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2216 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2217 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2218 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2219 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2220 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2221 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2222 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
2223 struct Templates42
{
2224 typedef TemplateSel
<T1
> Head
;
2225 typedef Templates41
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2226 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2227 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2231 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2232 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2233 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2234 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2235 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2236 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2237 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2238 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2239 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2240 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2241 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2242 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2243 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2244 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2245 GTEST_TEMPLATE_ T43
>
2246 struct Templates43
{
2247 typedef TemplateSel
<T1
> Head
;
2248 typedef Templates42
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2249 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2250 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2254 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2255 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2256 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2257 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2258 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2259 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2260 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2261 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2262 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2263 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2264 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2265 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2266 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2267 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2268 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
2269 struct Templates44
{
2270 typedef TemplateSel
<T1
> Head
;
2271 typedef Templates43
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2272 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2273 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2277 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2278 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2279 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2280 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2281 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2282 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2283 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2284 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2285 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2286 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2287 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2288 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2289 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2290 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2291 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
2292 struct Templates45
{
2293 typedef TemplateSel
<T1
> Head
;
2294 typedef Templates44
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2295 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2296 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2297 T43
, T44
, T45
> Tail
;
2300 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2301 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2302 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2303 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2304 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2305 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2306 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2307 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2308 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2309 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2310 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2311 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2312 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2313 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2314 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2315 GTEST_TEMPLATE_ T46
>
2316 struct Templates46
{
2317 typedef TemplateSel
<T1
> Head
;
2318 typedef Templates45
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2319 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2320 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2321 T43
, T44
, T45
, T46
> Tail
;
2324 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2325 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2326 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2327 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2328 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2329 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2330 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2331 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2332 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2333 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2334 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2335 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2336 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2337 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2338 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2339 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
2340 struct Templates47
{
2341 typedef TemplateSel
<T1
> Head
;
2342 typedef Templates46
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2343 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2344 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2345 T43
, T44
, T45
, T46
, T47
> Tail
;
2348 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2349 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2350 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2351 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2352 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2353 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2354 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2355 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2356 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2357 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2358 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2359 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2360 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2361 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2362 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2363 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
2364 struct Templates48
{
2365 typedef TemplateSel
<T1
> Head
;
2366 typedef Templates47
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2367 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2368 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2369 T43
, T44
, T45
, T46
, T47
, T48
> Tail
;
2372 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2373 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2374 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2375 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2376 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2377 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2378 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2379 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2380 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2381 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2382 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2383 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2384 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2385 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2386 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2387 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2388 GTEST_TEMPLATE_ T49
>
2389 struct Templates49
{
2390 typedef TemplateSel
<T1
> Head
;
2391 typedef Templates48
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2392 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2393 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2394 T43
, T44
, T45
, T46
, T47
, T48
, T49
> Tail
;
2397 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2398 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2399 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2400 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2401 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2402 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2403 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2404 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2405 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2406 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2407 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2408 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
2409 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
2410 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
2411 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
2412 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
2413 GTEST_TEMPLATE_ T49
, GTEST_TEMPLATE_ T50
>
2414 struct Templates50
{
2415 typedef TemplateSel
<T1
> Head
;
2416 typedef Templates49
<T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2417 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2418 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
,
2419 T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> Tail
;
2423 // We don't want to require the users to write TemplatesN<...> directly,
2424 // as that would require them to count the length. Templates<...> is much
2425 // easier to write, but generates horrible messages when there is a
2426 // compiler error, as gcc insists on printing out each template
2427 // argument, even if it has the default value (this means Templates<list>
2428 // will appear as Templates<list, NoneT, NoneT, ..., NoneT> in the compiler
2431 // Our solution is to combine the best part of the two approaches: a
2432 // user would write Templates<T1, ..., TN>, and Google Test will translate
2433 // that to TemplatesN<T1, ..., TN> internally to make error messages
2434 // readable. The translation is done by the 'type' member of the
2435 // Templates template.
2436 template <GTEST_TEMPLATE_ T1
= NoneT
, GTEST_TEMPLATE_ T2
= NoneT
,
2437 GTEST_TEMPLATE_ T3
= NoneT
, GTEST_TEMPLATE_ T4
= NoneT
,
2438 GTEST_TEMPLATE_ T5
= NoneT
, GTEST_TEMPLATE_ T6
= NoneT
,
2439 GTEST_TEMPLATE_ T7
= NoneT
, GTEST_TEMPLATE_ T8
= NoneT
,
2440 GTEST_TEMPLATE_ T9
= NoneT
, GTEST_TEMPLATE_ T10
= NoneT
,
2441 GTEST_TEMPLATE_ T11
= NoneT
, GTEST_TEMPLATE_ T12
= NoneT
,
2442 GTEST_TEMPLATE_ T13
= NoneT
, GTEST_TEMPLATE_ T14
= NoneT
,
2443 GTEST_TEMPLATE_ T15
= NoneT
, GTEST_TEMPLATE_ T16
= NoneT
,
2444 GTEST_TEMPLATE_ T17
= NoneT
, GTEST_TEMPLATE_ T18
= NoneT
,
2445 GTEST_TEMPLATE_ T19
= NoneT
, GTEST_TEMPLATE_ T20
= NoneT
,
2446 GTEST_TEMPLATE_ T21
= NoneT
, GTEST_TEMPLATE_ T22
= NoneT
,
2447 GTEST_TEMPLATE_ T23
= NoneT
, GTEST_TEMPLATE_ T24
= NoneT
,
2448 GTEST_TEMPLATE_ T25
= NoneT
, GTEST_TEMPLATE_ T26
= NoneT
,
2449 GTEST_TEMPLATE_ T27
= NoneT
, GTEST_TEMPLATE_ T28
= NoneT
,
2450 GTEST_TEMPLATE_ T29
= NoneT
, GTEST_TEMPLATE_ T30
= NoneT
,
2451 GTEST_TEMPLATE_ T31
= NoneT
, GTEST_TEMPLATE_ T32
= NoneT
,
2452 GTEST_TEMPLATE_ T33
= NoneT
, GTEST_TEMPLATE_ T34
= NoneT
,
2453 GTEST_TEMPLATE_ T35
= NoneT
, GTEST_TEMPLATE_ T36
= NoneT
,
2454 GTEST_TEMPLATE_ T37
= NoneT
, GTEST_TEMPLATE_ T38
= NoneT
,
2455 GTEST_TEMPLATE_ T39
= NoneT
, GTEST_TEMPLATE_ T40
= NoneT
,
2456 GTEST_TEMPLATE_ T41
= NoneT
, GTEST_TEMPLATE_ T42
= NoneT
,
2457 GTEST_TEMPLATE_ T43
= NoneT
, GTEST_TEMPLATE_ T44
= NoneT
,
2458 GTEST_TEMPLATE_ T45
= NoneT
, GTEST_TEMPLATE_ T46
= NoneT
,
2459 GTEST_TEMPLATE_ T47
= NoneT
, GTEST_TEMPLATE_ T48
= NoneT
,
2460 GTEST_TEMPLATE_ T49
= NoneT
, GTEST_TEMPLATE_ T50
= NoneT
>
2462 typedef Templates50
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2463 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2464 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
2465 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
> type
;
2469 struct Templates
<NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2470 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2471 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2472 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2473 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2475 typedef Templates0 type
;
2477 template <GTEST_TEMPLATE_ T1
>
2478 struct Templates
<T1
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2479 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2480 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2481 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2482 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2484 typedef Templates1
<T1
> type
;
2486 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
>
2487 struct Templates
<T1
, T2
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2488 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2489 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2490 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2491 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2493 typedef Templates2
<T1
, T2
> type
;
2495 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
>
2496 struct Templates
<T1
, T2
, T3
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2497 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2498 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2499 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2500 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2501 typedef Templates3
<T1
, T2
, T3
> type
;
2503 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2505 struct Templates
<T1
, T2
, T3
, T4
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2506 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2507 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2508 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2509 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2510 typedef Templates4
<T1
, T2
, T3
, T4
> type
;
2512 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2513 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
>
2514 struct Templates
<T1
, T2
, T3
, T4
, T5
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2515 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2516 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2517 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2518 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2519 typedef Templates5
<T1
, T2
, T3
, T4
, T5
> type
;
2521 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2522 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
>
2523 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2524 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2525 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2526 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2527 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2528 typedef Templates6
<T1
, T2
, T3
, T4
, T5
, T6
> type
;
2530 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2531 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2533 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2534 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2535 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2536 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2537 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2538 typedef Templates7
<T1
, T2
, T3
, T4
, T5
, T6
, T7
> type
;
2540 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2541 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2542 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
>
2543 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, NoneT
, NoneT
, NoneT
, NoneT
,
2544 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2545 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2546 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2547 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2548 typedef Templates8
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
> type
;
2550 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2551 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2552 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
>
2553 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, NoneT
, NoneT
, NoneT
,
2554 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2555 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2556 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2557 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2558 typedef Templates9
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
> type
;
2560 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2561 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2562 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2563 GTEST_TEMPLATE_ T10
>
2564 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, NoneT
, NoneT
, NoneT
,
2565 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2566 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2567 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2568 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2569 typedef Templates10
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
> type
;
2571 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2572 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2573 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2574 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
>
2575 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, NoneT
, NoneT
,
2576 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2577 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2578 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2579 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2580 typedef Templates11
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
> type
;
2582 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2583 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2584 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2585 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
>
2586 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, NoneT
,
2587 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2588 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2589 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2590 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2591 typedef Templates12
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
> type
;
2593 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2594 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2595 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2596 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2597 GTEST_TEMPLATE_ T13
>
2598 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, NoneT
,
2599 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2600 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2601 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2602 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2603 typedef Templates13
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
2606 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2607 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2608 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2609 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2610 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
>
2611 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2612 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2613 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2614 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2615 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2616 typedef Templates14
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2619 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2620 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2621 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2622 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2623 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
>
2624 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2625 T15
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2626 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2627 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2628 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2629 typedef Templates15
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2632 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2633 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2634 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2635 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2636 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2637 GTEST_TEMPLATE_ T16
>
2638 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2639 T15
, T16
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2640 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2641 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2642 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2643 typedef Templates16
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2644 T14
, T15
, T16
> type
;
2646 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2647 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2648 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2649 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2650 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2651 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
>
2652 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2653 T15
, T16
, T17
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2654 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2655 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2656 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2657 typedef Templates17
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2658 T14
, T15
, T16
, T17
> type
;
2660 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2661 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2662 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2663 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2664 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2665 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
>
2666 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2667 T15
, T16
, T17
, T18
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2668 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2669 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2670 NoneT
, NoneT
, NoneT
, NoneT
> {
2671 typedef Templates18
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2672 T14
, T15
, T16
, T17
, T18
> type
;
2674 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2675 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2676 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2677 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2678 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2679 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2680 GTEST_TEMPLATE_ T19
>
2681 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2682 T15
, T16
, T17
, T18
, T19
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2683 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2684 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2685 NoneT
, NoneT
, NoneT
, NoneT
> {
2686 typedef Templates19
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2687 T14
, T15
, T16
, T17
, T18
, T19
> type
;
2689 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2690 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2691 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2692 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2693 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2694 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2695 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
>
2696 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2697 T15
, T16
, T17
, T18
, T19
, T20
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2698 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2699 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2700 NoneT
, NoneT
, NoneT
, NoneT
> {
2701 typedef Templates20
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2702 T14
, T15
, T16
, T17
, T18
, T19
, T20
> type
;
2704 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2705 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2706 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2707 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2708 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2709 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2710 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
>
2711 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2712 T15
, T16
, T17
, T18
, T19
, T20
, T21
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2713 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2714 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2715 NoneT
, NoneT
, NoneT
, NoneT
> {
2716 typedef Templates21
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2717 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
> type
;
2719 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2720 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2721 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2722 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2723 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2724 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2725 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2726 GTEST_TEMPLATE_ T22
>
2727 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2728 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2729 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2730 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2731 NoneT
, NoneT
, NoneT
> {
2732 typedef Templates22
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2733 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
> type
;
2735 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2736 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2737 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2738 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2739 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2740 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2741 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2742 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
>
2743 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2744 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, NoneT
, NoneT
, NoneT
, NoneT
,
2745 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2746 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2747 NoneT
, NoneT
, NoneT
> {
2748 typedef Templates23
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2749 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
> type
;
2751 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2752 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2753 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2754 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2755 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2756 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2757 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2758 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
>
2759 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2760 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, NoneT
, NoneT
, NoneT
,
2761 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2762 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2763 NoneT
, NoneT
, NoneT
> {
2764 typedef Templates24
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2765 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
> type
;
2767 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2768 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2769 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2770 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2771 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2772 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2773 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2774 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2775 GTEST_TEMPLATE_ T25
>
2776 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2777 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, NoneT
, NoneT
, NoneT
,
2778 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2779 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2781 typedef Templates25
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2782 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
> type
;
2784 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2785 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2786 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2787 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2788 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2789 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2790 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2791 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2792 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
>
2793 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2794 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, NoneT
, NoneT
,
2795 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2796 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2798 typedef Templates26
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2799 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
> type
;
2801 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2802 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2803 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2804 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2805 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2806 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2807 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2808 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2809 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
>
2810 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2811 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, NoneT
,
2812 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2813 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2815 typedef Templates27
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2816 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
2819 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2820 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2821 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2822 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2823 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2824 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2825 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2826 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2827 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2828 GTEST_TEMPLATE_ T28
>
2829 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2830 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
2831 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2832 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2834 typedef Templates28
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2835 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2838 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2839 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2840 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2841 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2842 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2843 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2844 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2845 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2846 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2847 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
>
2848 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2849 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2850 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2851 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2853 typedef Templates29
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2854 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2857 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2858 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2859 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2860 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2861 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2862 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2863 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2864 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2865 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2866 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
>
2867 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2868 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2869 T30
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2870 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2871 typedef Templates30
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2872 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2873 T28
, T29
, T30
> type
;
2875 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2876 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2877 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2878 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2879 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2880 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2881 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2882 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2883 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2884 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2885 GTEST_TEMPLATE_ T31
>
2886 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2887 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2888 T30
, T31
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2889 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2890 typedef Templates31
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2891 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2892 T28
, T29
, T30
, T31
> type
;
2894 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2895 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2896 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2897 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2898 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2899 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2900 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2901 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2902 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2903 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2904 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
>
2905 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2906 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2907 T30
, T31
, T32
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2908 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2909 typedef Templates32
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2910 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2911 T28
, T29
, T30
, T31
, T32
> type
;
2913 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2914 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2915 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2916 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2917 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2918 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2919 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2920 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2921 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2922 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2923 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
>
2924 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2925 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2926 T30
, T31
, T32
, T33
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2927 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2928 typedef Templates33
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2929 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2930 T28
, T29
, T30
, T31
, T32
, T33
> type
;
2932 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2933 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2934 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2935 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2936 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2937 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2938 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2939 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2940 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2941 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2942 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2943 GTEST_TEMPLATE_ T34
>
2944 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2945 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2946 T30
, T31
, T32
, T33
, T34
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2947 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2948 typedef Templates34
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2949 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2950 T28
, T29
, T30
, T31
, T32
, T33
, T34
> type
;
2952 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2953 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2954 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2955 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2956 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2957 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2958 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2959 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2960 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2961 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2962 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2963 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
>
2964 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2965 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2966 T30
, T31
, T32
, T33
, T34
, T35
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2967 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2968 typedef Templates35
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2969 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2970 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
> type
;
2972 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2973 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2974 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2975 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2976 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2977 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2978 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2979 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
2980 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
2981 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
2982 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
2983 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
>
2984 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
2985 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
2986 T30
, T31
, T32
, T33
, T34
, T35
, T36
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
2987 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
2988 typedef Templates36
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
2989 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
2990 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
> type
;
2992 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
2993 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
2994 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
2995 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
2996 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
2997 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
2998 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
2999 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3000 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3001 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3002 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3003 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3004 GTEST_TEMPLATE_ T37
>
3005 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3006 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3007 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
,
3008 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3009 typedef Templates37
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3010 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3011 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
> type
;
3013 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3014 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3015 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3016 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3017 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3018 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3019 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3020 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3021 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3022 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3023 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3024 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3025 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
>
3026 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3027 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3028 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, NoneT
, NoneT
, NoneT
, NoneT
,
3029 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3030 typedef Templates38
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3031 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3032 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
> type
;
3034 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3035 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3036 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3037 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3038 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3039 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3040 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3041 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3042 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3043 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3044 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3045 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3046 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
>
3047 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3048 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3049 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, NoneT
, NoneT
, NoneT
,
3050 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3051 typedef Templates39
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3052 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3053 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
> type
;
3055 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3056 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3057 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3058 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3059 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3060 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3061 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3062 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3063 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3064 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3065 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3066 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3067 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3068 GTEST_TEMPLATE_ T40
>
3069 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3070 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3071 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, NoneT
, NoneT
, NoneT
,
3072 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3073 typedef Templates40
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3074 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3075 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
> type
;
3077 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3078 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3079 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3080 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3081 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3082 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3083 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3084 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3085 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3086 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3087 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3088 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3089 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3090 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
>
3091 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3092 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3093 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, NoneT
, NoneT
,
3094 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3095 typedef Templates41
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3096 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3097 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3100 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3101 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3102 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3103 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3104 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3105 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3106 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3107 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3108 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3109 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3110 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3111 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3112 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3113 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
>
3114 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3115 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3116 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, NoneT
,
3117 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3118 typedef Templates42
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3119 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3120 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3123 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3124 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3125 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3126 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3127 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3128 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3129 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3130 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3131 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3132 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3133 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3134 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3135 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3136 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3137 GTEST_TEMPLATE_ T43
>
3138 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3139 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3140 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3141 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3142 typedef Templates43
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3143 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3144 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3147 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3148 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3149 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3150 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3151 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3152 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3153 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3154 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3155 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3156 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3157 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3158 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3159 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3160 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3161 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
>
3162 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3163 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3164 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3165 NoneT
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3166 typedef Templates44
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3167 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3168 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3169 T42
, T43
, T44
> type
;
3171 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3172 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3173 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3174 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3175 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3176 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3177 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3178 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3179 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3180 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3181 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3182 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3183 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3184 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3185 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
>
3186 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3187 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3188 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3189 T45
, NoneT
, NoneT
, NoneT
, NoneT
, NoneT
> {
3190 typedef Templates45
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3191 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3192 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3193 T42
, T43
, T44
, T45
> type
;
3195 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3196 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3197 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3198 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3199 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3200 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3201 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3202 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3203 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3204 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3205 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3206 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3207 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3208 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3209 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3210 GTEST_TEMPLATE_ T46
>
3211 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3212 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3213 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3214 T45
, T46
, NoneT
, NoneT
, NoneT
, NoneT
> {
3215 typedef Templates46
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3216 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3217 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3218 T42
, T43
, T44
, T45
, T46
> type
;
3220 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3221 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3222 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3223 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3224 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3225 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3226 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3227 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3228 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3229 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3230 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3231 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3232 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3233 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3234 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3235 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
>
3236 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3237 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3238 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3239 T45
, T46
, T47
, NoneT
, NoneT
, NoneT
> {
3240 typedef Templates47
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3241 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3242 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3243 T42
, T43
, T44
, T45
, T46
, T47
> type
;
3245 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3246 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3247 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3248 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3249 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3250 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3251 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3252 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3253 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3254 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3255 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3256 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3257 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3258 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3259 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3260 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
>
3261 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3262 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3263 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3264 T45
, T46
, T47
, T48
, NoneT
, NoneT
> {
3265 typedef Templates48
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3266 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3267 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3268 T42
, T43
, T44
, T45
, T46
, T47
, T48
> type
;
3270 template <GTEST_TEMPLATE_ T1
, GTEST_TEMPLATE_ T2
, GTEST_TEMPLATE_ T3
,
3271 GTEST_TEMPLATE_ T4
, GTEST_TEMPLATE_ T5
, GTEST_TEMPLATE_ T6
,
3272 GTEST_TEMPLATE_ T7
, GTEST_TEMPLATE_ T8
, GTEST_TEMPLATE_ T9
,
3273 GTEST_TEMPLATE_ T10
, GTEST_TEMPLATE_ T11
, GTEST_TEMPLATE_ T12
,
3274 GTEST_TEMPLATE_ T13
, GTEST_TEMPLATE_ T14
, GTEST_TEMPLATE_ T15
,
3275 GTEST_TEMPLATE_ T16
, GTEST_TEMPLATE_ T17
, GTEST_TEMPLATE_ T18
,
3276 GTEST_TEMPLATE_ T19
, GTEST_TEMPLATE_ T20
, GTEST_TEMPLATE_ T21
,
3277 GTEST_TEMPLATE_ T22
, GTEST_TEMPLATE_ T23
, GTEST_TEMPLATE_ T24
,
3278 GTEST_TEMPLATE_ T25
, GTEST_TEMPLATE_ T26
, GTEST_TEMPLATE_ T27
,
3279 GTEST_TEMPLATE_ T28
, GTEST_TEMPLATE_ T29
, GTEST_TEMPLATE_ T30
,
3280 GTEST_TEMPLATE_ T31
, GTEST_TEMPLATE_ T32
, GTEST_TEMPLATE_ T33
,
3281 GTEST_TEMPLATE_ T34
, GTEST_TEMPLATE_ T35
, GTEST_TEMPLATE_ T36
,
3282 GTEST_TEMPLATE_ T37
, GTEST_TEMPLATE_ T38
, GTEST_TEMPLATE_ T39
,
3283 GTEST_TEMPLATE_ T40
, GTEST_TEMPLATE_ T41
, GTEST_TEMPLATE_ T42
,
3284 GTEST_TEMPLATE_ T43
, GTEST_TEMPLATE_ T44
, GTEST_TEMPLATE_ T45
,
3285 GTEST_TEMPLATE_ T46
, GTEST_TEMPLATE_ T47
, GTEST_TEMPLATE_ T48
,
3286 GTEST_TEMPLATE_ T49
>
3287 struct Templates
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
, T14
,
3288 T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
, T29
,
3289 T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
, T44
,
3290 T45
, T46
, T47
, T48
, T49
, NoneT
> {
3291 typedef Templates49
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3292 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
,
3293 T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
,
3294 T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
> type
;
3297 // The TypeList template makes it possible to use either a single type
3298 // or a Types<...> list in TYPED_TEST_CASE() and
3299 // INSTANTIATE_TYPED_TEST_CASE_P().
3301 template <typename T
>
3303 typedef Types1
<T
> type
;
3306 template <typename T1
, typename T2
, typename T3
, typename T4
, typename T5
,
3307 typename T6
, typename T7
, typename T8
, typename T9
, typename T10
,
3308 typename T11
, typename T12
, typename T13
, typename T14
, typename T15
,
3309 typename T16
, typename T17
, typename T18
, typename T19
, typename T20
,
3310 typename T21
, typename T22
, typename T23
, typename T24
, typename T25
,
3311 typename T26
, typename T27
, typename T28
, typename T29
, typename T30
,
3312 typename T31
, typename T32
, typename T33
, typename T34
, typename T35
,
3313 typename T36
, typename T37
, typename T38
, typename T39
, typename T40
,
3314 typename T41
, typename T42
, typename T43
, typename T44
, typename T45
,
3315 typename T46
, typename T47
, typename T48
, typename T49
, typename T50
>
3316 struct TypeList
<Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
, T13
,
3317 T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
, T27
, T28
,
3318 T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
, T41
, T42
, T43
,
3319 T44
, T45
, T46
, T47
, T48
, T49
, T50
> > {
3320 typedef typename Types
<T1
, T2
, T3
, T4
, T5
, T6
, T7
, T8
, T9
, T10
, T11
, T12
,
3321 T13
, T14
, T15
, T16
, T17
, T18
, T19
, T20
, T21
, T22
, T23
, T24
, T25
, T26
,
3322 T27
, T28
, T29
, T30
, T31
, T32
, T33
, T34
, T35
, T36
, T37
, T38
, T39
, T40
,
3323 T41
, T42
, T43
, T44
, T45
, T46
, T47
, T48
, T49
, T50
>::type type
;
3326 #endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P
3328 } // namespace internal
3329 } // namespace testing
3331 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_