113481Sgiacomo.travaglini@arm.com// This file was GENERATED by command: 213481Sgiacomo.travaglini@arm.com// pump.py gtest-type-util.h.pump 313481Sgiacomo.travaglini@arm.com// DO NOT EDIT BY HAND!!! 413481Sgiacomo.travaglini@arm.com 513481Sgiacomo.travaglini@arm.com// Copyright 2008 Google Inc. 613481Sgiacomo.travaglini@arm.com// All Rights Reserved. 713481Sgiacomo.travaglini@arm.com// 813481Sgiacomo.travaglini@arm.com// Redistribution and use in source and binary forms, with or without 913481Sgiacomo.travaglini@arm.com// modification, are permitted provided that the following conditions are 1013481Sgiacomo.travaglini@arm.com// met: 1113481Sgiacomo.travaglini@arm.com// 1213481Sgiacomo.travaglini@arm.com// * Redistributions of source code must retain the above copyright 1313481Sgiacomo.travaglini@arm.com// notice, this list of conditions and the following disclaimer. 1413481Sgiacomo.travaglini@arm.com// * Redistributions in binary form must reproduce the above 1513481Sgiacomo.travaglini@arm.com// copyright notice, this list of conditions and the following disclaimer 1613481Sgiacomo.travaglini@arm.com// in the documentation and/or other materials provided with the 1713481Sgiacomo.travaglini@arm.com// distribution. 1813481Sgiacomo.travaglini@arm.com// * Neither the name of Google Inc. nor the names of its 1913481Sgiacomo.travaglini@arm.com// contributors may be used to endorse or promote products derived from 2013481Sgiacomo.travaglini@arm.com// this software without specific prior written permission. 2113481Sgiacomo.travaglini@arm.com// 2213481Sgiacomo.travaglini@arm.com// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2313481Sgiacomo.travaglini@arm.com// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2413481Sgiacomo.travaglini@arm.com// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2513481Sgiacomo.travaglini@arm.com// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2613481Sgiacomo.travaglini@arm.com// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2713481Sgiacomo.travaglini@arm.com// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2813481Sgiacomo.travaglini@arm.com// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2913481Sgiacomo.travaglini@arm.com// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 3013481Sgiacomo.travaglini@arm.com// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3113481Sgiacomo.travaglini@arm.com// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3213481Sgiacomo.travaglini@arm.com// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3313481Sgiacomo.travaglini@arm.com// 3413481Sgiacomo.travaglini@arm.com// Author: wan@google.com (Zhanyong Wan) 3513481Sgiacomo.travaglini@arm.com 3613481Sgiacomo.travaglini@arm.com// Type utilities needed for implementing typed and type-parameterized 3713481Sgiacomo.travaglini@arm.com// tests. This file is generated by a SCRIPT. DO NOT EDIT BY HAND! 3813481Sgiacomo.travaglini@arm.com// 3913481Sgiacomo.travaglini@arm.com// Currently we support at most 50 types in a list, and at most 50 4013481Sgiacomo.travaglini@arm.com// type-parameterized tests in one type-parameterized test case. 4113481Sgiacomo.travaglini@arm.com// Please contact googletestframework@googlegroups.com if you need 4213481Sgiacomo.travaglini@arm.com// more. 4313481Sgiacomo.travaglini@arm.com 4413481Sgiacomo.travaglini@arm.com#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ 4513481Sgiacomo.travaglini@arm.com#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ 4613481Sgiacomo.travaglini@arm.com 4713481Sgiacomo.travaglini@arm.com#include "gtest/internal/gtest-port.h" 4813481Sgiacomo.travaglini@arm.com 4913481Sgiacomo.travaglini@arm.com// #ifdef __GNUC__ is too general here. It is possible to use gcc without using 5013481Sgiacomo.travaglini@arm.com// libstdc++ (which is where cxxabi.h comes from). 5113481Sgiacomo.travaglini@arm.com# if GTEST_HAS_CXXABI_H_ 5213481Sgiacomo.travaglini@arm.com# include <cxxabi.h> 5313481Sgiacomo.travaglini@arm.com# elif defined(__HP_aCC) 5413481Sgiacomo.travaglini@arm.com# include <acxx_demangle.h> 5513481Sgiacomo.travaglini@arm.com# endif // GTEST_HASH_CXXABI_H_ 5613481Sgiacomo.travaglini@arm.com 5713481Sgiacomo.travaglini@arm.comnamespace testing { 5813481Sgiacomo.travaglini@arm.comnamespace internal { 5913481Sgiacomo.travaglini@arm.com 6013481Sgiacomo.travaglini@arm.com// GetTypeName<T>() returns a human-readable name of type T. 6113481Sgiacomo.travaglini@arm.com// NB: This function is also used in Google Mock, so don't move it inside of 6213481Sgiacomo.travaglini@arm.com// the typed-test-only section below. 6313481Sgiacomo.travaglini@arm.comtemplate <typename T> 6413481Sgiacomo.travaglini@arm.comstd::string GetTypeName() { 6513481Sgiacomo.travaglini@arm.com# if GTEST_HAS_RTTI 6613481Sgiacomo.travaglini@arm.com 6713481Sgiacomo.travaglini@arm.com const char* const name = typeid(T).name(); 6813481Sgiacomo.travaglini@arm.com# if GTEST_HAS_CXXABI_H_ || defined(__HP_aCC) 6913481Sgiacomo.travaglini@arm.com int status = 0; 7013481Sgiacomo.travaglini@arm.com // gcc's implementation of typeid(T).name() mangles the type name, 7113481Sgiacomo.travaglini@arm.com // so we have to demangle it. 7213481Sgiacomo.travaglini@arm.com# if GTEST_HAS_CXXABI_H_ 7313481Sgiacomo.travaglini@arm.com using abi::__cxa_demangle; 7413481Sgiacomo.travaglini@arm.com# endif // GTEST_HAS_CXXABI_H_ 7513481Sgiacomo.travaglini@arm.com char* const readable_name = __cxa_demangle(name, 0, 0, &status); 7613481Sgiacomo.travaglini@arm.com const std::string name_str(status == 0 ? readable_name : name); 7713481Sgiacomo.travaglini@arm.com free(readable_name); 7813481Sgiacomo.travaglini@arm.com return name_str; 7913481Sgiacomo.travaglini@arm.com# else 8013481Sgiacomo.travaglini@arm.com return name; 8113481Sgiacomo.travaglini@arm.com# endif // GTEST_HAS_CXXABI_H_ || __HP_aCC 8213481Sgiacomo.travaglini@arm.com 8313481Sgiacomo.travaglini@arm.com# else 8413481Sgiacomo.travaglini@arm.com 8513481Sgiacomo.travaglini@arm.com return "<type>"; 8613481Sgiacomo.travaglini@arm.com 8713481Sgiacomo.travaglini@arm.com# endif // GTEST_HAS_RTTI 8813481Sgiacomo.travaglini@arm.com} 8913481Sgiacomo.travaglini@arm.com 9013481Sgiacomo.travaglini@arm.com#if GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P 9113481Sgiacomo.travaglini@arm.com 9213481Sgiacomo.travaglini@arm.com// AssertyTypeEq<T1, T2>::type is defined iff T1 and T2 are the same 9313481Sgiacomo.travaglini@arm.com// type. This can be used as a compile-time assertion to ensure that 9413481Sgiacomo.travaglini@arm.com// two types are equal. 9513481Sgiacomo.travaglini@arm.com 9613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2> 9713481Sgiacomo.travaglini@arm.comstruct AssertTypeEq; 9813481Sgiacomo.travaglini@arm.com 9913481Sgiacomo.travaglini@arm.comtemplate <typename T> 10013481Sgiacomo.travaglini@arm.comstruct AssertTypeEq<T, T> { 10113481Sgiacomo.travaglini@arm.com typedef bool type; 10213481Sgiacomo.travaglini@arm.com}; 10313481Sgiacomo.travaglini@arm.com 10413481Sgiacomo.travaglini@arm.com// A unique type used as the default value for the arguments of class 10513481Sgiacomo.travaglini@arm.com// template Types. This allows us to simulate variadic templates 10613481Sgiacomo.travaglini@arm.com// (e.g. Types<int>, Type<int, double>, and etc), which C++ doesn't 10713481Sgiacomo.travaglini@arm.com// support directly. 10813481Sgiacomo.travaglini@arm.comstruct None {}; 10913481Sgiacomo.travaglini@arm.com 11013481Sgiacomo.travaglini@arm.com// The following family of struct and struct templates are used to 11113481Sgiacomo.travaglini@arm.com// represent type lists. In particular, TypesN<T1, T2, ..., TN> 11213481Sgiacomo.travaglini@arm.com// represents a type list with N types (T1, T2, ..., and TN) in it. 11313481Sgiacomo.travaglini@arm.com// Except for Types0, every struct in the family has two member types: 11413481Sgiacomo.travaglini@arm.com// Head for the first type in the list, and Tail for the rest of the 11513481Sgiacomo.travaglini@arm.com// list. 11613481Sgiacomo.travaglini@arm.com 11713481Sgiacomo.travaglini@arm.com// The empty type list. 11813481Sgiacomo.travaglini@arm.comstruct Types0 {}; 11913481Sgiacomo.travaglini@arm.com 12013481Sgiacomo.travaglini@arm.com// Type lists of length 1, 2, 3, and so on. 12113481Sgiacomo.travaglini@arm.com 12213481Sgiacomo.travaglini@arm.comtemplate <typename T1> 12313481Sgiacomo.travaglini@arm.comstruct Types1 { 12413481Sgiacomo.travaglini@arm.com typedef T1 Head; 12513481Sgiacomo.travaglini@arm.com typedef Types0 Tail; 12613481Sgiacomo.travaglini@arm.com}; 12713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2> 12813481Sgiacomo.travaglini@arm.comstruct Types2 { 12913481Sgiacomo.travaglini@arm.com typedef T1 Head; 13013481Sgiacomo.travaglini@arm.com typedef Types1<T2> Tail; 13113481Sgiacomo.travaglini@arm.com}; 13213481Sgiacomo.travaglini@arm.com 13313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3> 13413481Sgiacomo.travaglini@arm.comstruct Types3 { 13513481Sgiacomo.travaglini@arm.com typedef T1 Head; 13613481Sgiacomo.travaglini@arm.com typedef Types2<T2, T3> Tail; 13713481Sgiacomo.travaglini@arm.com}; 13813481Sgiacomo.travaglini@arm.com 13913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4> 14013481Sgiacomo.travaglini@arm.comstruct Types4 { 14113481Sgiacomo.travaglini@arm.com typedef T1 Head; 14213481Sgiacomo.travaglini@arm.com typedef Types3<T2, T3, T4> Tail; 14313481Sgiacomo.travaglini@arm.com}; 14413481Sgiacomo.travaglini@arm.com 14513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5> 14613481Sgiacomo.travaglini@arm.comstruct Types5 { 14713481Sgiacomo.travaglini@arm.com typedef T1 Head; 14813481Sgiacomo.travaglini@arm.com typedef Types4<T2, T3, T4, T5> Tail; 14913481Sgiacomo.travaglini@arm.com}; 15013481Sgiacomo.travaglini@arm.com 15113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 15213481Sgiacomo.travaglini@arm.com typename T6> 15313481Sgiacomo.travaglini@arm.comstruct Types6 { 15413481Sgiacomo.travaglini@arm.com typedef T1 Head; 15513481Sgiacomo.travaglini@arm.com typedef Types5<T2, T3, T4, T5, T6> Tail; 15613481Sgiacomo.travaglini@arm.com}; 15713481Sgiacomo.travaglini@arm.com 15813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 15913481Sgiacomo.travaglini@arm.com typename T6, typename T7> 16013481Sgiacomo.travaglini@arm.comstruct Types7 { 16113481Sgiacomo.travaglini@arm.com typedef T1 Head; 16213481Sgiacomo.travaglini@arm.com typedef Types6<T2, T3, T4, T5, T6, T7> Tail; 16313481Sgiacomo.travaglini@arm.com}; 16413481Sgiacomo.travaglini@arm.com 16513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 16613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8> 16713481Sgiacomo.travaglini@arm.comstruct Types8 { 16813481Sgiacomo.travaglini@arm.com typedef T1 Head; 16913481Sgiacomo.travaglini@arm.com typedef Types7<T2, T3, T4, T5, T6, T7, T8> Tail; 17013481Sgiacomo.travaglini@arm.com}; 17113481Sgiacomo.travaglini@arm.com 17213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 17313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9> 17413481Sgiacomo.travaglini@arm.comstruct Types9 { 17513481Sgiacomo.travaglini@arm.com typedef T1 Head; 17613481Sgiacomo.travaglini@arm.com typedef Types8<T2, T3, T4, T5, T6, T7, T8, T9> Tail; 17713481Sgiacomo.travaglini@arm.com}; 17813481Sgiacomo.travaglini@arm.com 17913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 18013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10> 18113481Sgiacomo.travaglini@arm.comstruct Types10 { 18213481Sgiacomo.travaglini@arm.com typedef T1 Head; 18313481Sgiacomo.travaglini@arm.com typedef Types9<T2, T3, T4, T5, T6, T7, T8, T9, T10> Tail; 18413481Sgiacomo.travaglini@arm.com}; 18513481Sgiacomo.travaglini@arm.com 18613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 18713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 18813481Sgiacomo.travaglini@arm.com typename T11> 18913481Sgiacomo.travaglini@arm.comstruct Types11 { 19013481Sgiacomo.travaglini@arm.com typedef T1 Head; 19113481Sgiacomo.travaglini@arm.com typedef Types10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tail; 19213481Sgiacomo.travaglini@arm.com}; 19313481Sgiacomo.travaglini@arm.com 19413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 19513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 19613481Sgiacomo.travaglini@arm.com typename T11, typename T12> 19713481Sgiacomo.travaglini@arm.comstruct Types12 { 19813481Sgiacomo.travaglini@arm.com typedef T1 Head; 19913481Sgiacomo.travaglini@arm.com typedef Types11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tail; 20013481Sgiacomo.travaglini@arm.com}; 20113481Sgiacomo.travaglini@arm.com 20213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 20313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 20413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13> 20513481Sgiacomo.travaglini@arm.comstruct Types13 { 20613481Sgiacomo.travaglini@arm.com typedef T1 Head; 20713481Sgiacomo.travaglini@arm.com typedef Types12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tail; 20813481Sgiacomo.travaglini@arm.com}; 20913481Sgiacomo.travaglini@arm.com 21013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 21113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 21213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14> 21313481Sgiacomo.travaglini@arm.comstruct Types14 { 21413481Sgiacomo.travaglini@arm.com typedef T1 Head; 21513481Sgiacomo.travaglini@arm.com typedef Types13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Tail; 21613481Sgiacomo.travaglini@arm.com}; 21713481Sgiacomo.travaglini@arm.com 21813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 21913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 22013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15> 22113481Sgiacomo.travaglini@arm.comstruct Types15 { 22213481Sgiacomo.travaglini@arm.com typedef T1 Head; 22313481Sgiacomo.travaglini@arm.com typedef Types14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 22413481Sgiacomo.travaglini@arm.com T15> Tail; 22513481Sgiacomo.travaglini@arm.com}; 22613481Sgiacomo.travaglini@arm.com 22713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 22813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 22913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 23013481Sgiacomo.travaglini@arm.com typename T16> 23113481Sgiacomo.travaglini@arm.comstruct Types16 { 23213481Sgiacomo.travaglini@arm.com typedef T1 Head; 23313481Sgiacomo.travaglini@arm.com typedef Types15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 23413481Sgiacomo.travaglini@arm.com T16> Tail; 23513481Sgiacomo.travaglini@arm.com}; 23613481Sgiacomo.travaglini@arm.com 23713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 23813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 23913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 24013481Sgiacomo.travaglini@arm.com typename T16, typename T17> 24113481Sgiacomo.travaglini@arm.comstruct Types17 { 24213481Sgiacomo.travaglini@arm.com typedef T1 Head; 24313481Sgiacomo.travaglini@arm.com typedef Types16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 24413481Sgiacomo.travaglini@arm.com T16, T17> Tail; 24513481Sgiacomo.travaglini@arm.com}; 24613481Sgiacomo.travaglini@arm.com 24713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 24813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 24913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 25013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18> 25113481Sgiacomo.travaglini@arm.comstruct Types18 { 25213481Sgiacomo.travaglini@arm.com typedef T1 Head; 25313481Sgiacomo.travaglini@arm.com typedef Types17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 25413481Sgiacomo.travaglini@arm.com T16, T17, T18> Tail; 25513481Sgiacomo.travaglini@arm.com}; 25613481Sgiacomo.travaglini@arm.com 25713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 25813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 25913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 26013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19> 26113481Sgiacomo.travaglini@arm.comstruct Types19 { 26213481Sgiacomo.travaglini@arm.com typedef T1 Head; 26313481Sgiacomo.travaglini@arm.com typedef Types18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 26413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19> Tail; 26513481Sgiacomo.travaglini@arm.com}; 26613481Sgiacomo.travaglini@arm.com 26713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 26813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 26913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 27013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20> 27113481Sgiacomo.travaglini@arm.comstruct Types20 { 27213481Sgiacomo.travaglini@arm.com typedef T1 Head; 27313481Sgiacomo.travaglini@arm.com typedef Types19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 27413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20> Tail; 27513481Sgiacomo.travaglini@arm.com}; 27613481Sgiacomo.travaglini@arm.com 27713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 27813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 27913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 28013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 28113481Sgiacomo.travaglini@arm.com typename T21> 28213481Sgiacomo.travaglini@arm.comstruct Types21 { 28313481Sgiacomo.travaglini@arm.com typedef T1 Head; 28413481Sgiacomo.travaglini@arm.com typedef Types20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 28513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21> Tail; 28613481Sgiacomo.travaglini@arm.com}; 28713481Sgiacomo.travaglini@arm.com 28813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 28913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 29013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 29113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 29213481Sgiacomo.travaglini@arm.com typename T21, typename T22> 29313481Sgiacomo.travaglini@arm.comstruct Types22 { 29413481Sgiacomo.travaglini@arm.com typedef T1 Head; 29513481Sgiacomo.travaglini@arm.com typedef Types21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 29613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22> Tail; 29713481Sgiacomo.travaglini@arm.com}; 29813481Sgiacomo.travaglini@arm.com 29913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 30013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 30113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 30213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 30313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23> 30413481Sgiacomo.travaglini@arm.comstruct Types23 { 30513481Sgiacomo.travaglini@arm.com typedef T1 Head; 30613481Sgiacomo.travaglini@arm.com typedef Types22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 30713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23> Tail; 30813481Sgiacomo.travaglini@arm.com}; 30913481Sgiacomo.travaglini@arm.com 31013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 31113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 31213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 31313481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 31413481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24> 31513481Sgiacomo.travaglini@arm.comstruct Types24 { 31613481Sgiacomo.travaglini@arm.com typedef T1 Head; 31713481Sgiacomo.travaglini@arm.com typedef Types23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 31813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24> Tail; 31913481Sgiacomo.travaglini@arm.com}; 32013481Sgiacomo.travaglini@arm.com 32113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 32213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 32313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 32413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 32513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25> 32613481Sgiacomo.travaglini@arm.comstruct Types25 { 32713481Sgiacomo.travaglini@arm.com typedef T1 Head; 32813481Sgiacomo.travaglini@arm.com typedef Types24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 32913481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Tail; 33013481Sgiacomo.travaglini@arm.com}; 33113481Sgiacomo.travaglini@arm.com 33213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 33313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 33413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 33513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 33613481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 33713481Sgiacomo.travaglini@arm.com typename T26> 33813481Sgiacomo.travaglini@arm.comstruct Types26 { 33913481Sgiacomo.travaglini@arm.com typedef T1 Head; 34013481Sgiacomo.travaglini@arm.com typedef Types25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 34113481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> Tail; 34213481Sgiacomo.travaglini@arm.com}; 34313481Sgiacomo.travaglini@arm.com 34413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 34513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 34613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 34713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 34813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 34913481Sgiacomo.travaglini@arm.com typename T26, typename T27> 35013481Sgiacomo.travaglini@arm.comstruct Types27 { 35113481Sgiacomo.travaglini@arm.com typedef T1 Head; 35213481Sgiacomo.travaglini@arm.com typedef Types26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 35313481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> Tail; 35413481Sgiacomo.travaglini@arm.com}; 35513481Sgiacomo.travaglini@arm.com 35613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 35713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 35813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 35913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 36013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 36113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28> 36213481Sgiacomo.travaglini@arm.comstruct Types28 { 36313481Sgiacomo.travaglini@arm.com typedef T1 Head; 36413481Sgiacomo.travaglini@arm.com typedef Types27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 36513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28> Tail; 36613481Sgiacomo.travaglini@arm.com}; 36713481Sgiacomo.travaglini@arm.com 36813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 36913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 37013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 37113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 37213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 37313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29> 37413481Sgiacomo.travaglini@arm.comstruct Types29 { 37513481Sgiacomo.travaglini@arm.com typedef T1 Head; 37613481Sgiacomo.travaglini@arm.com typedef Types28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 37713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 37813481Sgiacomo.travaglini@arm.com T29> Tail; 37913481Sgiacomo.travaglini@arm.com}; 38013481Sgiacomo.travaglini@arm.com 38113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 38213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 38313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 38413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 38513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 38613481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30> 38713481Sgiacomo.travaglini@arm.comstruct Types30 { 38813481Sgiacomo.travaglini@arm.com typedef T1 Head; 38913481Sgiacomo.travaglini@arm.com typedef Types29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 39013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 39113481Sgiacomo.travaglini@arm.com T30> Tail; 39213481Sgiacomo.travaglini@arm.com}; 39313481Sgiacomo.travaglini@arm.com 39413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 39513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 39613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 39713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 39813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 39913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 40013481Sgiacomo.travaglini@arm.com typename T31> 40113481Sgiacomo.travaglini@arm.comstruct Types31 { 40213481Sgiacomo.travaglini@arm.com typedef T1 Head; 40313481Sgiacomo.travaglini@arm.com typedef Types30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 40413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 40513481Sgiacomo.travaglini@arm.com T30, T31> Tail; 40613481Sgiacomo.travaglini@arm.com}; 40713481Sgiacomo.travaglini@arm.com 40813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 40913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 41013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 41113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 41213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 41313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 41413481Sgiacomo.travaglini@arm.com typename T31, typename T32> 41513481Sgiacomo.travaglini@arm.comstruct Types32 { 41613481Sgiacomo.travaglini@arm.com typedef T1 Head; 41713481Sgiacomo.travaglini@arm.com typedef Types31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 41813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 41913481Sgiacomo.travaglini@arm.com T30, T31, T32> Tail; 42013481Sgiacomo.travaglini@arm.com}; 42113481Sgiacomo.travaglini@arm.com 42213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 42313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 42413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 42513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 42613481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 42713481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 42813481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33> 42913481Sgiacomo.travaglini@arm.comstruct Types33 { 43013481Sgiacomo.travaglini@arm.com typedef T1 Head; 43113481Sgiacomo.travaglini@arm.com typedef Types32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 43213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 43313481Sgiacomo.travaglini@arm.com T30, T31, T32, T33> Tail; 43413481Sgiacomo.travaglini@arm.com}; 43513481Sgiacomo.travaglini@arm.com 43613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 43713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 43813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 43913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 44013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 44113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 44213481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34> 44313481Sgiacomo.travaglini@arm.comstruct Types34 { 44413481Sgiacomo.travaglini@arm.com typedef T1 Head; 44513481Sgiacomo.travaglini@arm.com typedef Types33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 44613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 44713481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34> Tail; 44813481Sgiacomo.travaglini@arm.com}; 44913481Sgiacomo.travaglini@arm.com 45013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 45113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 45213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 45313481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 45413481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 45513481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 45613481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35> 45713481Sgiacomo.travaglini@arm.comstruct Types35 { 45813481Sgiacomo.travaglini@arm.com typedef T1 Head; 45913481Sgiacomo.travaglini@arm.com typedef Types34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 46013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 46113481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35> Tail; 46213481Sgiacomo.travaglini@arm.com}; 46313481Sgiacomo.travaglini@arm.com 46413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 46513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 46613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 46713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 46813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 46913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 47013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 47113481Sgiacomo.travaglini@arm.com typename T36> 47213481Sgiacomo.travaglini@arm.comstruct Types36 { 47313481Sgiacomo.travaglini@arm.com typedef T1 Head; 47413481Sgiacomo.travaglini@arm.com typedef Types35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 47513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 47613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36> Tail; 47713481Sgiacomo.travaglini@arm.com}; 47813481Sgiacomo.travaglini@arm.com 47913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 48013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 48113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 48213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 48313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 48413481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 48513481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 48613481Sgiacomo.travaglini@arm.com typename T36, typename T37> 48713481Sgiacomo.travaglini@arm.comstruct Types37 { 48813481Sgiacomo.travaglini@arm.com typedef T1 Head; 48913481Sgiacomo.travaglini@arm.com typedef Types36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 49013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 49113481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37> Tail; 49213481Sgiacomo.travaglini@arm.com}; 49313481Sgiacomo.travaglini@arm.com 49413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 49513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 49613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 49713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 49813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 49913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 50013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 50113481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38> 50213481Sgiacomo.travaglini@arm.comstruct Types38 { 50313481Sgiacomo.travaglini@arm.com typedef T1 Head; 50413481Sgiacomo.travaglini@arm.com typedef Types37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 50513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 50613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38> Tail; 50713481Sgiacomo.travaglini@arm.com}; 50813481Sgiacomo.travaglini@arm.com 50913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 51013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 51113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 51213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 51313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 51413481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 51513481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 51613481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39> 51713481Sgiacomo.travaglini@arm.comstruct Types39 { 51813481Sgiacomo.travaglini@arm.com typedef T1 Head; 51913481Sgiacomo.travaglini@arm.com typedef Types38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 52013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 52113481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> Tail; 52213481Sgiacomo.travaglini@arm.com}; 52313481Sgiacomo.travaglini@arm.com 52413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 52513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 52613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 52713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 52813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 52913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 53013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 53113481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40> 53213481Sgiacomo.travaglini@arm.comstruct Types40 { 53313481Sgiacomo.travaglini@arm.com typedef T1 Head; 53413481Sgiacomo.travaglini@arm.com typedef Types39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 53513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 53613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> Tail; 53713481Sgiacomo.travaglini@arm.com}; 53813481Sgiacomo.travaglini@arm.com 53913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 54013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 54113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 54213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 54313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 54413481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 54513481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 54613481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 54713481Sgiacomo.travaglini@arm.com typename T41> 54813481Sgiacomo.travaglini@arm.comstruct Types41 { 54913481Sgiacomo.travaglini@arm.com typedef T1 Head; 55013481Sgiacomo.travaglini@arm.com typedef Types40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 55113481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 55213481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41> Tail; 55313481Sgiacomo.travaglini@arm.com}; 55413481Sgiacomo.travaglini@arm.com 55513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 55613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 55713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 55813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 55913481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 56013481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 56113481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 56213481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 56313481Sgiacomo.travaglini@arm.com typename T41, typename T42> 56413481Sgiacomo.travaglini@arm.comstruct Types42 { 56513481Sgiacomo.travaglini@arm.com typedef T1 Head; 56613481Sgiacomo.travaglini@arm.com typedef Types41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 56713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 56813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42> Tail; 56913481Sgiacomo.travaglini@arm.com}; 57013481Sgiacomo.travaglini@arm.com 57113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 57213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 57313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 57413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 57513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 57613481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 57713481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 57813481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 57913481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43> 58013481Sgiacomo.travaglini@arm.comstruct Types43 { 58113481Sgiacomo.travaglini@arm.com typedef T1 Head; 58213481Sgiacomo.travaglini@arm.com typedef Types42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 58313481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 58413481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 58513481Sgiacomo.travaglini@arm.com T43> Tail; 58613481Sgiacomo.travaglini@arm.com}; 58713481Sgiacomo.travaglini@arm.com 58813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 58913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 59013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 59113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 59213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 59313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 59413481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 59513481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 59613481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44> 59713481Sgiacomo.travaglini@arm.comstruct Types44 { 59813481Sgiacomo.travaglini@arm.com typedef T1 Head; 59913481Sgiacomo.travaglini@arm.com typedef Types43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 60013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 60113481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 60213481Sgiacomo.travaglini@arm.com T44> Tail; 60313481Sgiacomo.travaglini@arm.com}; 60413481Sgiacomo.travaglini@arm.com 60513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 60613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 60713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 60813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 60913481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 61013481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 61113481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 61213481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 61313481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45> 61413481Sgiacomo.travaglini@arm.comstruct Types45 { 61513481Sgiacomo.travaglini@arm.com typedef T1 Head; 61613481Sgiacomo.travaglini@arm.com typedef Types44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 61713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 61813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 61913481Sgiacomo.travaglini@arm.com T44, T45> Tail; 62013481Sgiacomo.travaglini@arm.com}; 62113481Sgiacomo.travaglini@arm.com 62213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 62313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 62413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 62513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 62613481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 62713481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 62813481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 62913481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 63013481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 63113481Sgiacomo.travaglini@arm.com typename T46> 63213481Sgiacomo.travaglini@arm.comstruct Types46 { 63313481Sgiacomo.travaglini@arm.com typedef T1 Head; 63413481Sgiacomo.travaglini@arm.com typedef Types45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 63513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 63613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 63713481Sgiacomo.travaglini@arm.com T44, T45, T46> Tail; 63813481Sgiacomo.travaglini@arm.com}; 63913481Sgiacomo.travaglini@arm.com 64013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 64113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 64213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 64313481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 64413481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 64513481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 64613481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 64713481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 64813481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 64913481Sgiacomo.travaglini@arm.com typename T46, typename T47> 65013481Sgiacomo.travaglini@arm.comstruct Types47 { 65113481Sgiacomo.travaglini@arm.com typedef T1 Head; 65213481Sgiacomo.travaglini@arm.com typedef Types46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 65313481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 65413481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 65513481Sgiacomo.travaglini@arm.com T44, T45, T46, T47> Tail; 65613481Sgiacomo.travaglini@arm.com}; 65713481Sgiacomo.travaglini@arm.com 65813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 65913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 66013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 66113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 66213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 66313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 66413481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 66513481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 66613481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 66713481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48> 66813481Sgiacomo.travaglini@arm.comstruct Types48 { 66913481Sgiacomo.travaglini@arm.com typedef T1 Head; 67013481Sgiacomo.travaglini@arm.com typedef Types47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 67113481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 67213481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 67313481Sgiacomo.travaglini@arm.com T44, T45, T46, T47, T48> Tail; 67413481Sgiacomo.travaglini@arm.com}; 67513481Sgiacomo.travaglini@arm.com 67613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 67713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 67813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 67913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 68013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 68113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 68213481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 68313481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 68413481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 68513481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48, typename T49> 68613481Sgiacomo.travaglini@arm.comstruct Types49 { 68713481Sgiacomo.travaglini@arm.com typedef T1 Head; 68813481Sgiacomo.travaglini@arm.com typedef Types48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 68913481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 69013481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 69113481Sgiacomo.travaglini@arm.com T44, T45, T46, T47, T48, T49> Tail; 69213481Sgiacomo.travaglini@arm.com}; 69313481Sgiacomo.travaglini@arm.com 69413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 69513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 69613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 69713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 69813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 69913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 70013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 70113481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 70213481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 70313481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48, typename T49, typename T50> 70413481Sgiacomo.travaglini@arm.comstruct Types50 { 70513481Sgiacomo.travaglini@arm.com typedef T1 Head; 70613481Sgiacomo.travaglini@arm.com typedef Types49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 70713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 70813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 70913481Sgiacomo.travaglini@arm.com T44, T45, T46, T47, T48, T49, T50> Tail; 71013481Sgiacomo.travaglini@arm.com}; 71113481Sgiacomo.travaglini@arm.com 71213481Sgiacomo.travaglini@arm.com 71313481Sgiacomo.travaglini@arm.com} // namespace internal 71413481Sgiacomo.travaglini@arm.com 71513481Sgiacomo.travaglini@arm.com// We don't want to require the users to write TypesN<...> directly, 71613481Sgiacomo.travaglini@arm.com// as that would require them to count the length. Types<...> is much 71713481Sgiacomo.travaglini@arm.com// easier to write, but generates horrible messages when there is a 71813481Sgiacomo.travaglini@arm.com// compiler error, as gcc insists on printing out each template 71913481Sgiacomo.travaglini@arm.com// argument, even if it has the default value (this means Types<int> 72013481Sgiacomo.travaglini@arm.com// will appear as Types<int, None, None, ..., None> in the compiler 72113481Sgiacomo.travaglini@arm.com// errors). 72213481Sgiacomo.travaglini@arm.com// 72313481Sgiacomo.travaglini@arm.com// Our solution is to combine the best part of the two approaches: a 72413481Sgiacomo.travaglini@arm.com// user would write Types<T1, ..., TN>, and Google Test will translate 72513481Sgiacomo.travaglini@arm.com// that to TypesN<T1, ..., TN> internally to make error messages 72613481Sgiacomo.travaglini@arm.com// readable. The translation is done by the 'type' member of the 72713481Sgiacomo.travaglini@arm.com// Types template. 72813481Sgiacomo.travaglini@arm.comtemplate <typename T1 = internal::None, typename T2 = internal::None, 72913481Sgiacomo.travaglini@arm.com typename T3 = internal::None, typename T4 = internal::None, 73013481Sgiacomo.travaglini@arm.com typename T5 = internal::None, typename T6 = internal::None, 73113481Sgiacomo.travaglini@arm.com typename T7 = internal::None, typename T8 = internal::None, 73213481Sgiacomo.travaglini@arm.com typename T9 = internal::None, typename T10 = internal::None, 73313481Sgiacomo.travaglini@arm.com typename T11 = internal::None, typename T12 = internal::None, 73413481Sgiacomo.travaglini@arm.com typename T13 = internal::None, typename T14 = internal::None, 73513481Sgiacomo.travaglini@arm.com typename T15 = internal::None, typename T16 = internal::None, 73613481Sgiacomo.travaglini@arm.com typename T17 = internal::None, typename T18 = internal::None, 73713481Sgiacomo.travaglini@arm.com typename T19 = internal::None, typename T20 = internal::None, 73813481Sgiacomo.travaglini@arm.com typename T21 = internal::None, typename T22 = internal::None, 73913481Sgiacomo.travaglini@arm.com typename T23 = internal::None, typename T24 = internal::None, 74013481Sgiacomo.travaglini@arm.com typename T25 = internal::None, typename T26 = internal::None, 74113481Sgiacomo.travaglini@arm.com typename T27 = internal::None, typename T28 = internal::None, 74213481Sgiacomo.travaglini@arm.com typename T29 = internal::None, typename T30 = internal::None, 74313481Sgiacomo.travaglini@arm.com typename T31 = internal::None, typename T32 = internal::None, 74413481Sgiacomo.travaglini@arm.com typename T33 = internal::None, typename T34 = internal::None, 74513481Sgiacomo.travaglini@arm.com typename T35 = internal::None, typename T36 = internal::None, 74613481Sgiacomo.travaglini@arm.com typename T37 = internal::None, typename T38 = internal::None, 74713481Sgiacomo.travaglini@arm.com typename T39 = internal::None, typename T40 = internal::None, 74813481Sgiacomo.travaglini@arm.com typename T41 = internal::None, typename T42 = internal::None, 74913481Sgiacomo.travaglini@arm.com typename T43 = internal::None, typename T44 = internal::None, 75013481Sgiacomo.travaglini@arm.com typename T45 = internal::None, typename T46 = internal::None, 75113481Sgiacomo.travaglini@arm.com typename T47 = internal::None, typename T48 = internal::None, 75213481Sgiacomo.travaglini@arm.com typename T49 = internal::None, typename T50 = internal::None> 75313481Sgiacomo.travaglini@arm.comstruct Types { 75413481Sgiacomo.travaglini@arm.com typedef internal::Types50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 75513481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 75613481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 75713481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46, T47, T48, T49, T50> type; 75813481Sgiacomo.travaglini@arm.com}; 75913481Sgiacomo.travaglini@arm.com 76013481Sgiacomo.travaglini@arm.comtemplate <> 76113481Sgiacomo.travaglini@arm.comstruct Types<internal::None, internal::None, internal::None, internal::None, 76213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 76913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 77013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 77113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 77213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 77313481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 77413481Sgiacomo.travaglini@arm.com typedef internal::Types0 type; 77513481Sgiacomo.travaglini@arm.com}; 77613481Sgiacomo.travaglini@arm.comtemplate <typename T1> 77713481Sgiacomo.travaglini@arm.comstruct Types<T1, internal::None, internal::None, internal::None, 77813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 77913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 78913481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 79013481Sgiacomo.travaglini@arm.com typedef internal::Types1<T1> type; 79113481Sgiacomo.travaglini@arm.com}; 79213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2> 79313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, internal::None, internal::None, internal::None, 79413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 79513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 79613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 79713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 79813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 79913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 80513481Sgiacomo.travaglini@arm.com internal::None> { 80613481Sgiacomo.travaglini@arm.com typedef internal::Types2<T1, T2> type; 80713481Sgiacomo.travaglini@arm.com}; 80813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3> 80913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, internal::None, internal::None, internal::None, 81013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 81913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 82013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 82113481Sgiacomo.travaglini@arm.com typedef internal::Types3<T1, T2, T3> type; 82213481Sgiacomo.travaglini@arm.com}; 82313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4> 82413481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, internal::None, internal::None, internal::None, 82513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 82613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 82713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 82813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 82913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 83513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 83613481Sgiacomo.travaglini@arm.com typedef internal::Types4<T1, T2, T3, T4> type; 83713481Sgiacomo.travaglini@arm.com}; 83813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5> 83913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, internal::None, internal::None, 84013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 84913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 85013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 85113481Sgiacomo.travaglini@arm.com typedef internal::Types5<T1, T2, T3, T4, T5> type; 85213481Sgiacomo.travaglini@arm.com}; 85313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 85413481Sgiacomo.travaglini@arm.com typename T6> 85513481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, internal::None, internal::None, 85613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 85713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 85813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 85913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 86613481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 86713481Sgiacomo.travaglini@arm.com typedef internal::Types6<T1, T2, T3, T4, T5, T6> type; 86813481Sgiacomo.travaglini@arm.com}; 86913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 87013481Sgiacomo.travaglini@arm.com typename T6, typename T7> 87113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, internal::None, internal::None, 87213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 87913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 88013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 88113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 88213481Sgiacomo.travaglini@arm.com internal::None> { 88313481Sgiacomo.travaglini@arm.com typedef internal::Types7<T1, T2, T3, T4, T5, T6, T7> type; 88413481Sgiacomo.travaglini@arm.com}; 88513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 88613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8> 88713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, internal::None, internal::None, 88813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 88913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 89713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 89813481Sgiacomo.travaglini@arm.com typedef internal::Types8<T1, T2, T3, T4, T5, T6, T7, T8> type; 89913481Sgiacomo.travaglini@arm.com}; 90013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 90113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9> 90213481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, internal::None, 90313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 90913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 91013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 91113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 91213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 91313481Sgiacomo.travaglini@arm.com typedef internal::Types9<T1, T2, T3, T4, T5, T6, T7, T8, T9> type; 91413481Sgiacomo.travaglini@arm.com}; 91513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 91613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10> 91713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, internal::None, 91813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 91913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 92713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 92813481Sgiacomo.travaglini@arm.com typedef internal::Types10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> type; 92913481Sgiacomo.travaglini@arm.com}; 93013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 93113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 93213481Sgiacomo.travaglini@arm.com typename T11> 93313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, internal::None, 93413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 93513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 93613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 93713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 93813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 93913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 94013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 94113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 94213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 94313481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 94413481Sgiacomo.travaglini@arm.com typedef internal::Types11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> type; 94513481Sgiacomo.travaglini@arm.com}; 94613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 94713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 94813481Sgiacomo.travaglini@arm.com typename T11, typename T12> 94913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, internal::None, 95013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 95913481Sgiacomo.travaglini@arm.com internal::None> { 96013481Sgiacomo.travaglini@arm.com typedef internal::Types12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, 96113481Sgiacomo.travaglini@arm.com T12> type; 96213481Sgiacomo.travaglini@arm.com}; 96313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 96413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 96513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13> 96613481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 96713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 96813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 96913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 97613481Sgiacomo.travaglini@arm.com internal::None> { 97713481Sgiacomo.travaglini@arm.com typedef internal::Types13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 97813481Sgiacomo.travaglini@arm.com T13> type; 97913481Sgiacomo.travaglini@arm.com}; 98013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 98113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 98213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14> 98313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 98413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 98513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 98613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 98713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 98813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 98913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 99013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 99113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 99213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 99313481Sgiacomo.travaglini@arm.com typedef internal::Types14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 99413481Sgiacomo.travaglini@arm.com T13, T14> type; 99513481Sgiacomo.travaglini@arm.com}; 99613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 99713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 99813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15> 99913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 100013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 100813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 100913481Sgiacomo.travaglini@arm.com typedef internal::Types15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 101013481Sgiacomo.travaglini@arm.com T13, T14, T15> type; 101113481Sgiacomo.travaglini@arm.com}; 101213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 101313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 101413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 101513481Sgiacomo.travaglini@arm.com typename T16> 101613481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 101713481Sgiacomo.travaglini@arm.com T16, internal::None, internal::None, internal::None, internal::None, 101813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 101913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 102513481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 102613481Sgiacomo.travaglini@arm.com typedef internal::Types16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 102713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16> type; 102813481Sgiacomo.travaglini@arm.com}; 102913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 103013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 103113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 103213481Sgiacomo.travaglini@arm.com typename T16, typename T17> 103313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 103413481Sgiacomo.travaglini@arm.com T16, T17, internal::None, internal::None, internal::None, internal::None, 103513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 103613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 103713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 103813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 103913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 104013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 104113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 104213481Sgiacomo.travaglini@arm.com internal::None> { 104313481Sgiacomo.travaglini@arm.com typedef internal::Types17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 104413481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17> type; 104513481Sgiacomo.travaglini@arm.com}; 104613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 104713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 104813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 104913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18> 105013481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 105113481Sgiacomo.travaglini@arm.com T16, T17, T18, internal::None, internal::None, internal::None, 105213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 105913481Sgiacomo.travaglini@arm.com internal::None> { 106013481Sgiacomo.travaglini@arm.com typedef internal::Types18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 106113481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18> type; 106213481Sgiacomo.travaglini@arm.com}; 106313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 106413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 106513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 106613481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19> 106713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 106813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, internal::None, internal::None, internal::None, 106913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 107513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 107613481Sgiacomo.travaglini@arm.com typedef internal::Types19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 107713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19> type; 107813481Sgiacomo.travaglini@arm.com}; 107913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 108013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 108113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 108213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20> 108313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 108413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, internal::None, internal::None, internal::None, 108513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 108613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 108713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 108813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 108913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 109013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 109113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 109213481Sgiacomo.travaglini@arm.com typedef internal::Types20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 109313481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20> type; 109413481Sgiacomo.travaglini@arm.com}; 109513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 109613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 109713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 109813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 109913481Sgiacomo.travaglini@arm.com typename T21> 110013481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 110113481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, internal::None, internal::None, 110213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 110813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 110913481Sgiacomo.travaglini@arm.com typedef internal::Types21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 111013481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21> type; 111113481Sgiacomo.travaglini@arm.com}; 111213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 111313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 111413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 111513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 111613481Sgiacomo.travaglini@arm.com typename T21, typename T22> 111713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 111813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, internal::None, internal::None, 111913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 112513481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 112613481Sgiacomo.travaglini@arm.com typedef internal::Types22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 112713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> type; 112813481Sgiacomo.travaglini@arm.com}; 112913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 113013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 113113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 113213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 113313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23> 113413481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 113513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, internal::None, internal::None, 113613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 113713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 113813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 113913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 114013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 114113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 114213481Sgiacomo.travaglini@arm.com internal::None> { 114313481Sgiacomo.travaglini@arm.com typedef internal::Types23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 114413481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> type; 114513481Sgiacomo.travaglini@arm.com}; 114613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 114713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 114813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 114913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 115013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24> 115113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 115213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, internal::None, 115313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 115913481Sgiacomo.travaglini@arm.com internal::None> { 116013481Sgiacomo.travaglini@arm.com typedef internal::Types24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 116113481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> type; 116213481Sgiacomo.travaglini@arm.com}; 116313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 116413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 116513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 116613481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 116713481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25> 116813481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 116913481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, internal::None, 117013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 117113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 117213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 117313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 117413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 117513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 117613481Sgiacomo.travaglini@arm.com typedef internal::Types25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 117713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> type; 117813481Sgiacomo.travaglini@arm.com}; 117913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 118013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 118113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 118213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 118313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 118413481Sgiacomo.travaglini@arm.com typename T26> 118513481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 118613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, internal::None, 118713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 118813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 118913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 119013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 119113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 119213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 119313481Sgiacomo.travaglini@arm.com typedef internal::Types26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 119413481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, 119513481Sgiacomo.travaglini@arm.com T26> type; 119613481Sgiacomo.travaglini@arm.com}; 119713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 119813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 119913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 120013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 120113481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 120213481Sgiacomo.travaglini@arm.com typename T26, typename T27> 120313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 120413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, internal::None, 120513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 120613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 120713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 120813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 120913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 121013481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 121113481Sgiacomo.travaglini@arm.com typedef internal::Types27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 121213481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 121313481Sgiacomo.travaglini@arm.com T27> type; 121413481Sgiacomo.travaglini@arm.com}; 121513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 121613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 121713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 121813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 121913481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 122013481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28> 122113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 122213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 122313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 122413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 122513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 122613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 122713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 122813481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 122913481Sgiacomo.travaglini@arm.com typedef internal::Types28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 123013481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 123113481Sgiacomo.travaglini@arm.com T27, T28> type; 123213481Sgiacomo.travaglini@arm.com}; 123313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 123413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 123513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 123613481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 123713481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 123813481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29> 123913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 124013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 124113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 124213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 124313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 124413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 124513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 124613481Sgiacomo.travaglini@arm.com internal::None> { 124713481Sgiacomo.travaglini@arm.com typedef internal::Types29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 124813481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 124913481Sgiacomo.travaglini@arm.com T27, T28, T29> type; 125013481Sgiacomo.travaglini@arm.com}; 125113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 125213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 125313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 125413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 125513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 125613481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30> 125713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 125813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 125913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 126013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 126113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 126213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 126313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 126413481Sgiacomo.travaglini@arm.com typedef internal::Types30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 126513481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 126613481Sgiacomo.travaglini@arm.com T27, T28, T29, T30> type; 126713481Sgiacomo.travaglini@arm.com}; 126813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 126913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 127013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 127113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 127213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 127313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 127413481Sgiacomo.travaglini@arm.com typename T31> 127513481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 127613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 127713481Sgiacomo.travaglini@arm.com T31, internal::None, internal::None, internal::None, internal::None, 127813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 127913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 128013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 128113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 128213481Sgiacomo.travaglini@arm.com typedef internal::Types31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 128313481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 128413481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31> type; 128513481Sgiacomo.travaglini@arm.com}; 128613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 128713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 128813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 128913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 129013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 129113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 129213481Sgiacomo.travaglini@arm.com typename T31, typename T32> 129313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 129413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 129513481Sgiacomo.travaglini@arm.com T31, T32, internal::None, internal::None, internal::None, internal::None, 129613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 129713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 129813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 129913481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 130013481Sgiacomo.travaglini@arm.com typedef internal::Types32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 130113481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 130213481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32> type; 130313481Sgiacomo.travaglini@arm.com}; 130413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 130513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 130613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 130713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 130813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 130913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 131013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33> 131113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 131213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 131313481Sgiacomo.travaglini@arm.com T31, T32, T33, internal::None, internal::None, internal::None, 131413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 131513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 131613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 131713481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 131813481Sgiacomo.travaglini@arm.com typedef internal::Types33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 131913481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 132013481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33> type; 132113481Sgiacomo.travaglini@arm.com}; 132213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 132313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 132413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 132513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 132613481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 132713481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 132813481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34> 132913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 133013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 133113481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, internal::None, internal::None, internal::None, 133213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 133313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 133413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 133513481Sgiacomo.travaglini@arm.com internal::None> { 133613481Sgiacomo.travaglini@arm.com typedef internal::Types34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 133713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 133813481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34> type; 133913481Sgiacomo.travaglini@arm.com}; 134013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 134113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 134213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 134313481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 134413481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 134513481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 134613481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35> 134713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 134813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 134913481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, internal::None, internal::None, internal::None, 135013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 135113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 135213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 135313481Sgiacomo.travaglini@arm.com typedef internal::Types35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 135413481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 135513481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35> type; 135613481Sgiacomo.travaglini@arm.com}; 135713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 135813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 135913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 136013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 136113481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 136213481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 136313481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 136413481Sgiacomo.travaglini@arm.com typename T36> 136513481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 136613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 136713481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, internal::None, internal::None, 136813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 136913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 137013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 137113481Sgiacomo.travaglini@arm.com typedef internal::Types36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 137213481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 137313481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36> type; 137413481Sgiacomo.travaglini@arm.com}; 137513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 137613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 137713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 137813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 137913481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 138013481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 138113481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 138213481Sgiacomo.travaglini@arm.com typename T36, typename T37> 138313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 138413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 138513481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, internal::None, internal::None, 138613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 138713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 138813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 138913481Sgiacomo.travaglini@arm.com typedef internal::Types37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 139013481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 139113481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37> type; 139213481Sgiacomo.travaglini@arm.com}; 139313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 139413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 139513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 139613481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 139713481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 139813481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 139913481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 140013481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38> 140113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 140213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 140313481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, internal::None, internal::None, 140413481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 140513481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 140613481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 140713481Sgiacomo.travaglini@arm.com typedef internal::Types38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 140813481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 140913481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> type; 141013481Sgiacomo.travaglini@arm.com}; 141113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 141213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 141313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 141413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 141513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 141613481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 141713481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 141813481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39> 141913481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 142013481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 142113481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, internal::None, 142213481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 142313481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 142413481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 142513481Sgiacomo.travaglini@arm.com typedef internal::Types39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 142613481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 142713481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> type; 142813481Sgiacomo.travaglini@arm.com}; 142913481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 143013481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 143113481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 143213481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 143313481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 143413481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 143513481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 143613481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40> 143713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 143813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 143913481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, internal::None, 144013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 144113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 144213481Sgiacomo.travaglini@arm.com internal::None> { 144313481Sgiacomo.travaglini@arm.com typedef internal::Types40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 144413481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 144513481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, 144613481Sgiacomo.travaglini@arm.com T40> type; 144713481Sgiacomo.travaglini@arm.com}; 144813481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 144913481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 145013481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 145113481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 145213481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 145313481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 145413481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 145513481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 145613481Sgiacomo.travaglini@arm.com typename T41> 145713481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 145813481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 145913481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, internal::None, 146013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 146113481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None> { 146213481Sgiacomo.travaglini@arm.com typedef internal::Types41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 146313481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 146413481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 146513481Sgiacomo.travaglini@arm.com T41> type; 146613481Sgiacomo.travaglini@arm.com}; 146713481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 146813481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 146913481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 147013481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 147113481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 147213481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 147313481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 147413481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 147513481Sgiacomo.travaglini@arm.com typename T41, typename T42> 147613481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 147713481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 147813481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, internal::None, 147913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 148013481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 148113481Sgiacomo.travaglini@arm.com typedef internal::Types42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 148213481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 148313481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 148413481Sgiacomo.travaglini@arm.com T41, T42> type; 148513481Sgiacomo.travaglini@arm.com}; 148613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 148713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 148813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 148913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 149013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 149113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 149213481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 149313481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 149413481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43> 149513481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 149613481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 149713481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 149813481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 149913481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None> { 150013481Sgiacomo.travaglini@arm.com typedef internal::Types43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 150113481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 150213481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 150313481Sgiacomo.travaglini@arm.com T41, T42, T43> type; 150413481Sgiacomo.travaglini@arm.com}; 150513481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 150613481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 150713481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 150813481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 150913481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 151013481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 151113481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 151213481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 151313481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44> 151413481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 151513481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 151613481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 151713481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 151813481Sgiacomo.travaglini@arm.com internal::None, internal::None> { 151913481Sgiacomo.travaglini@arm.com typedef internal::Types44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 152013481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 152113481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 152213481Sgiacomo.travaglini@arm.com T41, T42, T43, T44> type; 152313481Sgiacomo.travaglini@arm.com}; 152413481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 152513481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 152613481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 152713481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 152813481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 152913481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 153013481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 153113481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 153213481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45> 153313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 153413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 153513481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, 153613481Sgiacomo.travaglini@arm.com internal::None, internal::None, internal::None, internal::None, 153713481Sgiacomo.travaglini@arm.com internal::None> { 153813481Sgiacomo.travaglini@arm.com typedef internal::Types45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 153913481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 154013481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 154113481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45> type; 154213481Sgiacomo.travaglini@arm.com}; 154313481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 154413481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 154513481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 154613481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 154713481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 154813481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 154913481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 155013481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 155113481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 155213481Sgiacomo.travaglini@arm.com typename T46> 155313481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 155413481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 155513481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, 155613481Sgiacomo.travaglini@arm.com T46, internal::None, internal::None, internal::None, internal::None> { 155713481Sgiacomo.travaglini@arm.com typedef internal::Types46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 155813481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 155913481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 156013481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46> type; 156113481Sgiacomo.travaglini@arm.com}; 156213481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 156313481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 156413481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 156513481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 156613481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 156713481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 156813481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 156913481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 157013481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 157113481Sgiacomo.travaglini@arm.com typename T46, typename T47> 157213481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 157313481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 157413481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, 157513481Sgiacomo.travaglini@arm.com T46, T47, internal::None, internal::None, internal::None> { 157613481Sgiacomo.travaglini@arm.com typedef internal::Types47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 157713481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 157813481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 157913481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46, T47> type; 158013481Sgiacomo.travaglini@arm.com}; 158113481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 158213481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 158313481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 158413481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 158513481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 158613481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 158713481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 158813481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 158913481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 159013481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48> 159113481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 159213481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 159313481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, 159413481Sgiacomo.travaglini@arm.com T46, T47, T48, internal::None, internal::None> { 159513481Sgiacomo.travaglini@arm.com typedef internal::Types48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 159613481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 159713481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 159813481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46, T47, T48> type; 159913481Sgiacomo.travaglini@arm.com}; 160013481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 160113481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 160213481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 160313481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 160413481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 160513481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 160613481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 160713481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 160813481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 160913481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48, typename T49> 161013481Sgiacomo.travaglini@arm.comstruct Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, 161113481Sgiacomo.travaglini@arm.com T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, 161213481Sgiacomo.travaglini@arm.com T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, 161313481Sgiacomo.travaglini@arm.com T46, T47, T48, T49, internal::None> { 161413481Sgiacomo.travaglini@arm.com typedef internal::Types49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 161513481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 161613481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 161713481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46, T47, T48, T49> type; 161813481Sgiacomo.travaglini@arm.com}; 161913481Sgiacomo.travaglini@arm.com 162013481Sgiacomo.travaglini@arm.comnamespace internal { 162113481Sgiacomo.travaglini@arm.com 162213481Sgiacomo.travaglini@arm.com# define GTEST_TEMPLATE_ template <typename T> class 162313481Sgiacomo.travaglini@arm.com 162413481Sgiacomo.travaglini@arm.com// The template "selector" struct TemplateSel<Tmpl> is used to 162513481Sgiacomo.travaglini@arm.com// represent Tmpl, which must be a class template with one type 162613481Sgiacomo.travaglini@arm.com// parameter, as a type. TemplateSel<Tmpl>::Bind<T>::type is defined 162713481Sgiacomo.travaglini@arm.com// as the type Tmpl<T>. This allows us to actually instantiate the 162813481Sgiacomo.travaglini@arm.com// template "selected" by TemplateSel<Tmpl>. 162913481Sgiacomo.travaglini@arm.com// 163013481Sgiacomo.travaglini@arm.com// This trick is necessary for simulating typedef for class templates, 163113481Sgiacomo.travaglini@arm.com// which C++ doesn't support directly. 163213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ Tmpl> 163313481Sgiacomo.travaglini@arm.comstruct TemplateSel { 163413481Sgiacomo.travaglini@arm.com template <typename T> 163513481Sgiacomo.travaglini@arm.com struct Bind { 163613481Sgiacomo.travaglini@arm.com typedef Tmpl<T> type; 163713481Sgiacomo.travaglini@arm.com }; 163813481Sgiacomo.travaglini@arm.com}; 163913481Sgiacomo.travaglini@arm.com 164013481Sgiacomo.travaglini@arm.com# define GTEST_BIND_(TmplSel, T) \ 164113481Sgiacomo.travaglini@arm.com TmplSel::template Bind<T>::type 164213481Sgiacomo.travaglini@arm.com 164313481Sgiacomo.travaglini@arm.com// A unique struct template used as the default value for the 164413481Sgiacomo.travaglini@arm.com// arguments of class template Templates. This allows us to simulate 164513481Sgiacomo.travaglini@arm.com// variadic templates (e.g. Templates<int>, Templates<int, double>, 164613481Sgiacomo.travaglini@arm.com// and etc), which C++ doesn't support directly. 164713481Sgiacomo.travaglini@arm.comtemplate <typename T> 164813481Sgiacomo.travaglini@arm.comstruct NoneT {}; 164913481Sgiacomo.travaglini@arm.com 165013481Sgiacomo.travaglini@arm.com// The following family of struct and struct templates are used to 165113481Sgiacomo.travaglini@arm.com// represent template lists. In particular, TemplatesN<T1, T2, ..., 165213481Sgiacomo.travaglini@arm.com// TN> represents a list of N templates (T1, T2, ..., and TN). Except 165313481Sgiacomo.travaglini@arm.com// for Templates0, every struct in the family has two member types: 165413481Sgiacomo.travaglini@arm.com// Head for the selector of the first template in the list, and Tail 165513481Sgiacomo.travaglini@arm.com// for the rest of the list. 165613481Sgiacomo.travaglini@arm.com 165713481Sgiacomo.travaglini@arm.com// The empty template list. 165813481Sgiacomo.travaglini@arm.comstruct Templates0 {}; 165913481Sgiacomo.travaglini@arm.com 166013481Sgiacomo.travaglini@arm.com// Template lists of length 1, 2, 3, and so on. 166113481Sgiacomo.travaglini@arm.com 166213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1> 166313481Sgiacomo.travaglini@arm.comstruct Templates1 { 166413481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 166513481Sgiacomo.travaglini@arm.com typedef Templates0 Tail; 166613481Sgiacomo.travaglini@arm.com}; 166713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2> 166813481Sgiacomo.travaglini@arm.comstruct Templates2 { 166913481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 167013481Sgiacomo.travaglini@arm.com typedef Templates1<T2> Tail; 167113481Sgiacomo.travaglini@arm.com}; 167213481Sgiacomo.travaglini@arm.com 167313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3> 167413481Sgiacomo.travaglini@arm.comstruct Templates3 { 167513481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 167613481Sgiacomo.travaglini@arm.com typedef Templates2<T2, T3> Tail; 167713481Sgiacomo.travaglini@arm.com}; 167813481Sgiacomo.travaglini@arm.com 167913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 168013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4> 168113481Sgiacomo.travaglini@arm.comstruct Templates4 { 168213481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 168313481Sgiacomo.travaglini@arm.com typedef Templates3<T2, T3, T4> Tail; 168413481Sgiacomo.travaglini@arm.com}; 168513481Sgiacomo.travaglini@arm.com 168613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 168713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5> 168813481Sgiacomo.travaglini@arm.comstruct Templates5 { 168913481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 169013481Sgiacomo.travaglini@arm.com typedef Templates4<T2, T3, T4, T5> Tail; 169113481Sgiacomo.travaglini@arm.com}; 169213481Sgiacomo.travaglini@arm.com 169313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 169413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6> 169513481Sgiacomo.travaglini@arm.comstruct Templates6 { 169613481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 169713481Sgiacomo.travaglini@arm.com typedef Templates5<T2, T3, T4, T5, T6> Tail; 169813481Sgiacomo.travaglini@arm.com}; 169913481Sgiacomo.travaglini@arm.com 170013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 170113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 170213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7> 170313481Sgiacomo.travaglini@arm.comstruct Templates7 { 170413481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 170513481Sgiacomo.travaglini@arm.com typedef Templates6<T2, T3, T4, T5, T6, T7> Tail; 170613481Sgiacomo.travaglini@arm.com}; 170713481Sgiacomo.travaglini@arm.com 170813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 170913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 171013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8> 171113481Sgiacomo.travaglini@arm.comstruct Templates8 { 171213481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 171313481Sgiacomo.travaglini@arm.com typedef Templates7<T2, T3, T4, T5, T6, T7, T8> Tail; 171413481Sgiacomo.travaglini@arm.com}; 171513481Sgiacomo.travaglini@arm.com 171613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 171713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 171813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9> 171913481Sgiacomo.travaglini@arm.comstruct Templates9 { 172013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 172113481Sgiacomo.travaglini@arm.com typedef Templates8<T2, T3, T4, T5, T6, T7, T8, T9> Tail; 172213481Sgiacomo.travaglini@arm.com}; 172313481Sgiacomo.travaglini@arm.com 172413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 172513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 172613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 172713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10> 172813481Sgiacomo.travaglini@arm.comstruct Templates10 { 172913481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 173013481Sgiacomo.travaglini@arm.com typedef Templates9<T2, T3, T4, T5, T6, T7, T8, T9, T10> Tail; 173113481Sgiacomo.travaglini@arm.com}; 173213481Sgiacomo.travaglini@arm.com 173313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 173413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 173513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 173613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11> 173713481Sgiacomo.travaglini@arm.comstruct Templates11 { 173813481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 173913481Sgiacomo.travaglini@arm.com typedef Templates10<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Tail; 174013481Sgiacomo.travaglini@arm.com}; 174113481Sgiacomo.travaglini@arm.com 174213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 174313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 174413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 174513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12> 174613481Sgiacomo.travaglini@arm.comstruct Templates12 { 174713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 174813481Sgiacomo.travaglini@arm.com typedef Templates11<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Tail; 174913481Sgiacomo.travaglini@arm.com}; 175013481Sgiacomo.travaglini@arm.com 175113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 175213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 175313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 175413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 175513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13> 175613481Sgiacomo.travaglini@arm.comstruct Templates13 { 175713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 175813481Sgiacomo.travaglini@arm.com typedef Templates12<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Tail; 175913481Sgiacomo.travaglini@arm.com}; 176013481Sgiacomo.travaglini@arm.com 176113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 176213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 176313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 176413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 176513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14> 176613481Sgiacomo.travaglini@arm.comstruct Templates14 { 176713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 176813481Sgiacomo.travaglini@arm.com typedef Templates13<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 176913481Sgiacomo.travaglini@arm.com T14> Tail; 177013481Sgiacomo.travaglini@arm.com}; 177113481Sgiacomo.travaglini@arm.com 177213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 177313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 177413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 177513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 177613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15> 177713481Sgiacomo.travaglini@arm.comstruct Templates15 { 177813481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 177913481Sgiacomo.travaglini@arm.com typedef Templates14<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 178013481Sgiacomo.travaglini@arm.com T15> Tail; 178113481Sgiacomo.travaglini@arm.com}; 178213481Sgiacomo.travaglini@arm.com 178313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 178413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 178513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 178613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 178713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 178813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16> 178913481Sgiacomo.travaglini@arm.comstruct Templates16 { 179013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 179113481Sgiacomo.travaglini@arm.com typedef Templates15<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 179213481Sgiacomo.travaglini@arm.com T15, T16> Tail; 179313481Sgiacomo.travaglini@arm.com}; 179413481Sgiacomo.travaglini@arm.com 179513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 179613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 179713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 179813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 179913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 180013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17> 180113481Sgiacomo.travaglini@arm.comstruct Templates17 { 180213481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 180313481Sgiacomo.travaglini@arm.com typedef Templates16<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 180413481Sgiacomo.travaglini@arm.com T15, T16, T17> Tail; 180513481Sgiacomo.travaglini@arm.com}; 180613481Sgiacomo.travaglini@arm.com 180713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 180813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 180913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 181013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 181113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 181213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18> 181313481Sgiacomo.travaglini@arm.comstruct Templates18 { 181413481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 181513481Sgiacomo.travaglini@arm.com typedef Templates17<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 181613481Sgiacomo.travaglini@arm.com T15, T16, T17, T18> Tail; 181713481Sgiacomo.travaglini@arm.com}; 181813481Sgiacomo.travaglini@arm.com 181913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 182013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 182113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 182213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 182313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 182413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 182513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19> 182613481Sgiacomo.travaglini@arm.comstruct Templates19 { 182713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 182813481Sgiacomo.travaglini@arm.com typedef Templates18<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 182913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19> Tail; 183013481Sgiacomo.travaglini@arm.com}; 183113481Sgiacomo.travaglini@arm.com 183213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 183313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 183413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 183513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 183613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 183713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 183813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20> 183913481Sgiacomo.travaglini@arm.comstruct Templates20 { 184013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 184113481Sgiacomo.travaglini@arm.com typedef Templates19<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 184213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20> Tail; 184313481Sgiacomo.travaglini@arm.com}; 184413481Sgiacomo.travaglini@arm.com 184513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 184613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 184713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 184813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 184913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 185013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 185113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21> 185213481Sgiacomo.travaglini@arm.comstruct Templates21 { 185313481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 185413481Sgiacomo.travaglini@arm.com typedef Templates20<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 185513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21> Tail; 185613481Sgiacomo.travaglini@arm.com}; 185713481Sgiacomo.travaglini@arm.com 185813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 185913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 186013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 186113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 186213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 186313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 186413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 186513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22> 186613481Sgiacomo.travaglini@arm.comstruct Templates22 { 186713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 186813481Sgiacomo.travaglini@arm.com typedef Templates21<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 186913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22> Tail; 187013481Sgiacomo.travaglini@arm.com}; 187113481Sgiacomo.travaglini@arm.com 187213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 187313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 187413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 187513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 187613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 187713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 187813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 187913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23> 188013481Sgiacomo.travaglini@arm.comstruct Templates23 { 188113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 188213481Sgiacomo.travaglini@arm.com typedef Templates22<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 188313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23> Tail; 188413481Sgiacomo.travaglini@arm.com}; 188513481Sgiacomo.travaglini@arm.com 188613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 188713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 188813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 188913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 189013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 189113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 189213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 189313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24> 189413481Sgiacomo.travaglini@arm.comstruct Templates24 { 189513481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 189613481Sgiacomo.travaglini@arm.com typedef Templates23<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 189713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> Tail; 189813481Sgiacomo.travaglini@arm.com}; 189913481Sgiacomo.travaglini@arm.com 190013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 190113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 190213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 190313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 190413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 190513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 190613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 190713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 190813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25> 190913481Sgiacomo.travaglini@arm.comstruct Templates25 { 191013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 191113481Sgiacomo.travaglini@arm.com typedef Templates24<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 191213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> Tail; 191313481Sgiacomo.travaglini@arm.com}; 191413481Sgiacomo.travaglini@arm.com 191513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 191613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 191713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 191813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 191913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 192013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 192113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 192213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 192313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26> 192413481Sgiacomo.travaglini@arm.comstruct Templates26 { 192513481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 192613481Sgiacomo.travaglini@arm.com typedef Templates25<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 192713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> Tail; 192813481Sgiacomo.travaglini@arm.com}; 192913481Sgiacomo.travaglini@arm.com 193013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 193113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 193213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 193313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 193413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 193513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 193613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 193713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 193813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27> 193913481Sgiacomo.travaglini@arm.comstruct Templates27 { 194013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 194113481Sgiacomo.travaglini@arm.com typedef Templates26<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 194213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27> Tail; 194313481Sgiacomo.travaglini@arm.com}; 194413481Sgiacomo.travaglini@arm.com 194513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 194613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 194713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 194813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 194913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 195013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 195113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 195213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 195313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 195413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28> 195513481Sgiacomo.travaglini@arm.comstruct Templates28 { 195613481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 195713481Sgiacomo.travaglini@arm.com typedef Templates27<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 195813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 195913481Sgiacomo.travaglini@arm.com T28> Tail; 196013481Sgiacomo.travaglini@arm.com}; 196113481Sgiacomo.travaglini@arm.com 196213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 196313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 196413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 196513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 196613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 196713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 196813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 196913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 197013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 197113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29> 197213481Sgiacomo.travaglini@arm.comstruct Templates29 { 197313481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 197413481Sgiacomo.travaglini@arm.com typedef Templates28<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 197513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 197613481Sgiacomo.travaglini@arm.com T29> Tail; 197713481Sgiacomo.travaglini@arm.com}; 197813481Sgiacomo.travaglini@arm.com 197913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 198013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 198113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 198213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 198313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 198413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 198513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 198613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 198713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 198813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30> 198913481Sgiacomo.travaglini@arm.comstruct Templates30 { 199013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 199113481Sgiacomo.travaglini@arm.com typedef Templates29<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 199213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 199313481Sgiacomo.travaglini@arm.com T29, T30> Tail; 199413481Sgiacomo.travaglini@arm.com}; 199513481Sgiacomo.travaglini@arm.com 199613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 199713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 199813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 199913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 200013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 200113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 200213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 200313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 200413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 200513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 200613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31> 200713481Sgiacomo.travaglini@arm.comstruct Templates31 { 200813481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 200913481Sgiacomo.travaglini@arm.com typedef Templates30<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 201013481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 201113481Sgiacomo.travaglini@arm.com T29, T30, T31> Tail; 201213481Sgiacomo.travaglini@arm.com}; 201313481Sgiacomo.travaglini@arm.com 201413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 201513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 201613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 201713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 201813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 201913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 202013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 202113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 202213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 202313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 202413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32> 202513481Sgiacomo.travaglini@arm.comstruct Templates32 { 202613481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 202713481Sgiacomo.travaglini@arm.com typedef Templates31<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 202813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 202913481Sgiacomo.travaglini@arm.com T29, T30, T31, T32> Tail; 203013481Sgiacomo.travaglini@arm.com}; 203113481Sgiacomo.travaglini@arm.com 203213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 203313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 203413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 203513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 203613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 203713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 203813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 203913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 204013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 204113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 204213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33> 204313481Sgiacomo.travaglini@arm.comstruct Templates33 { 204413481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 204513481Sgiacomo.travaglini@arm.com typedef Templates32<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 204613481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 204713481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33> Tail; 204813481Sgiacomo.travaglini@arm.com}; 204913481Sgiacomo.travaglini@arm.com 205013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 205113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 205213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 205313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 205413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 205513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 205613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 205713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 205813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 205913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 206013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 206113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34> 206213481Sgiacomo.travaglini@arm.comstruct Templates34 { 206313481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 206413481Sgiacomo.travaglini@arm.com typedef Templates33<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 206513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 206613481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34> Tail; 206713481Sgiacomo.travaglini@arm.com}; 206813481Sgiacomo.travaglini@arm.com 206913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 207013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 207113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 207213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 207313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 207413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 207513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 207613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 207713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 207813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 207913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 208013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35> 208113481Sgiacomo.travaglini@arm.comstruct Templates35 { 208213481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 208313481Sgiacomo.travaglini@arm.com typedef Templates34<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 208413481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 208513481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35> Tail; 208613481Sgiacomo.travaglini@arm.com}; 208713481Sgiacomo.travaglini@arm.com 208813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 208913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 209013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 209113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 209213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 209313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 209413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 209513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 209613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 209713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 209813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 209913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36> 210013481Sgiacomo.travaglini@arm.comstruct Templates36 { 210113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 210213481Sgiacomo.travaglini@arm.com typedef Templates35<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 210313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 210413481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36> Tail; 210513481Sgiacomo.travaglini@arm.com}; 210613481Sgiacomo.travaglini@arm.com 210713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 210813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 210913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 211013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 211113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 211213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 211313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 211413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 211513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 211613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 211713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 211813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 211913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37> 212013481Sgiacomo.travaglini@arm.comstruct Templates37 { 212113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 212213481Sgiacomo.travaglini@arm.com typedef Templates36<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 212313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 212413481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37> Tail; 212513481Sgiacomo.travaglini@arm.com}; 212613481Sgiacomo.travaglini@arm.com 212713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 212813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 212913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 213013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 213113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 213213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 213313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 213413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 213513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 213613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 213713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 213813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 213913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38> 214013481Sgiacomo.travaglini@arm.comstruct Templates38 { 214113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 214213481Sgiacomo.travaglini@arm.com typedef Templates37<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 214313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 214413481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> Tail; 214513481Sgiacomo.travaglini@arm.com}; 214613481Sgiacomo.travaglini@arm.com 214713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 214813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 214913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 215013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 215113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 215213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 215313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 215413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 215513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 215613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 215713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 215813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 215913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39> 216013481Sgiacomo.travaglini@arm.comstruct Templates39 { 216113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 216213481Sgiacomo.travaglini@arm.com typedef Templates38<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 216313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 216413481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> Tail; 216513481Sgiacomo.travaglini@arm.com}; 216613481Sgiacomo.travaglini@arm.com 216713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 216813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 216913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 217013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 217113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 217213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 217313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 217413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 217513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 217613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 217713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 217813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 217913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 218013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40> 218113481Sgiacomo.travaglini@arm.comstruct Templates40 { 218213481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 218313481Sgiacomo.travaglini@arm.com typedef Templates39<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 218413481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 218513481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> Tail; 218613481Sgiacomo.travaglini@arm.com}; 218713481Sgiacomo.travaglini@arm.com 218813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 218913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 219013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 219113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 219213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 219313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 219413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 219513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 219613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 219713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 219813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 219913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 220013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 220113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41> 220213481Sgiacomo.travaglini@arm.comstruct Templates41 { 220313481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 220413481Sgiacomo.travaglini@arm.com typedef Templates40<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 220513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 220613481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41> Tail; 220713481Sgiacomo.travaglini@arm.com}; 220813481Sgiacomo.travaglini@arm.com 220913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 221013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 221113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 221213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 221313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 221413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 221513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 221613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 221713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 221813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 221913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 222013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 222113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 222213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42> 222313481Sgiacomo.travaglini@arm.comstruct Templates42 { 222413481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 222513481Sgiacomo.travaglini@arm.com typedef Templates41<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 222613481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 222713481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 222813481Sgiacomo.travaglini@arm.com T42> Tail; 222913481Sgiacomo.travaglini@arm.com}; 223013481Sgiacomo.travaglini@arm.com 223113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 223213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 223313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 223413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 223513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 223613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 223713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 223813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 223913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 224013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 224113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 224213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 224313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 224413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 224513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43> 224613481Sgiacomo.travaglini@arm.comstruct Templates43 { 224713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 224813481Sgiacomo.travaglini@arm.com typedef Templates42<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 224913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 225013481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 225113481Sgiacomo.travaglini@arm.com T43> Tail; 225213481Sgiacomo.travaglini@arm.com}; 225313481Sgiacomo.travaglini@arm.com 225413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 225513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 225613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 225713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 225813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 225913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 226013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 226113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 226213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 226313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 226413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 226513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 226613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 226713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 226813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44> 226913481Sgiacomo.travaglini@arm.comstruct Templates44 { 227013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 227113481Sgiacomo.travaglini@arm.com typedef Templates43<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 227213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 227313481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 227413481Sgiacomo.travaglini@arm.com T43, T44> Tail; 227513481Sgiacomo.travaglini@arm.com}; 227613481Sgiacomo.travaglini@arm.com 227713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 227813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 227913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 228013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 228113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 228213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 228313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 228413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 228513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 228613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 228713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 228813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 228913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 229013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 229113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45> 229213481Sgiacomo.travaglini@arm.comstruct Templates45 { 229313481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 229413481Sgiacomo.travaglini@arm.com typedef Templates44<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 229513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 229613481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 229713481Sgiacomo.travaglini@arm.com T43, T44, T45> Tail; 229813481Sgiacomo.travaglini@arm.com}; 229913481Sgiacomo.travaglini@arm.com 230013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 230113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 230213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 230313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 230413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 230513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 230613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 230713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 230813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 230913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 231013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 231113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 231213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 231313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 231413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 231513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46> 231613481Sgiacomo.travaglini@arm.comstruct Templates46 { 231713481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 231813481Sgiacomo.travaglini@arm.com typedef Templates45<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 231913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 232013481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 232113481Sgiacomo.travaglini@arm.com T43, T44, T45, T46> Tail; 232213481Sgiacomo.travaglini@arm.com}; 232313481Sgiacomo.travaglini@arm.com 232413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 232513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 232613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 232713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 232813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 232913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 233013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 233113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 233213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 233313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 233413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 233513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 233613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 233713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 233813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 233913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47> 234013481Sgiacomo.travaglini@arm.comstruct Templates47 { 234113481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 234213481Sgiacomo.travaglini@arm.com typedef Templates46<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 234313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 234413481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 234513481Sgiacomo.travaglini@arm.com T43, T44, T45, T46, T47> Tail; 234613481Sgiacomo.travaglini@arm.com}; 234713481Sgiacomo.travaglini@arm.com 234813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 234913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 235013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 235113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 235213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 235313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 235413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 235513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 235613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 235713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 235813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 235913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 236013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 236113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 236213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 236313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48> 236413481Sgiacomo.travaglini@arm.comstruct Templates48 { 236513481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 236613481Sgiacomo.travaglini@arm.com typedef Templates47<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 236713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 236813481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 236913481Sgiacomo.travaglini@arm.com T43, T44, T45, T46, T47, T48> Tail; 237013481Sgiacomo.travaglini@arm.com}; 237113481Sgiacomo.travaglini@arm.com 237213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 237313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 237413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 237513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 237613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 237713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 237813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 237913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 238013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 238113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 238213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 238313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 238413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 238513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 238613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 238713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48, 238813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T49> 238913481Sgiacomo.travaglini@arm.comstruct Templates49 { 239013481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 239113481Sgiacomo.travaglini@arm.com typedef Templates48<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 239213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 239313481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 239413481Sgiacomo.travaglini@arm.com T43, T44, T45, T46, T47, T48, T49> Tail; 239513481Sgiacomo.travaglini@arm.com}; 239613481Sgiacomo.travaglini@arm.com 239713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 239813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 239913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 240013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 240113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 240213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 240313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 240413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 240513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 240613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 240713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 240813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 240913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 241013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 241113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 241213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48, 241313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T49, GTEST_TEMPLATE_ T50> 241413481Sgiacomo.travaglini@arm.comstruct Templates50 { 241513481Sgiacomo.travaglini@arm.com typedef TemplateSel<T1> Head; 241613481Sgiacomo.travaglini@arm.com typedef Templates49<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 241713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 241813481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, 241913481Sgiacomo.travaglini@arm.com T43, T44, T45, T46, T47, T48, T49, T50> Tail; 242013481Sgiacomo.travaglini@arm.com}; 242113481Sgiacomo.travaglini@arm.com 242213481Sgiacomo.travaglini@arm.com 242313481Sgiacomo.travaglini@arm.com// We don't want to require the users to write TemplatesN<...> directly, 242413481Sgiacomo.travaglini@arm.com// as that would require them to count the length. Templates<...> is much 242513481Sgiacomo.travaglini@arm.com// easier to write, but generates horrible messages when there is a 242613481Sgiacomo.travaglini@arm.com// compiler error, as gcc insists on printing out each template 242713481Sgiacomo.travaglini@arm.com// argument, even if it has the default value (this means Templates<list> 242813481Sgiacomo.travaglini@arm.com// will appear as Templates<list, NoneT, NoneT, ..., NoneT> in the compiler 242913481Sgiacomo.travaglini@arm.com// errors). 243013481Sgiacomo.travaglini@arm.com// 243113481Sgiacomo.travaglini@arm.com// Our solution is to combine the best part of the two approaches: a 243213481Sgiacomo.travaglini@arm.com// user would write Templates<T1, ..., TN>, and Google Test will translate 243313481Sgiacomo.travaglini@arm.com// that to TemplatesN<T1, ..., TN> internally to make error messages 243413481Sgiacomo.travaglini@arm.com// readable. The translation is done by the 'type' member of the 243513481Sgiacomo.travaglini@arm.com// Templates template. 243613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1 = NoneT, GTEST_TEMPLATE_ T2 = NoneT, 243713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T3 = NoneT, GTEST_TEMPLATE_ T4 = NoneT, 243813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T5 = NoneT, GTEST_TEMPLATE_ T6 = NoneT, 243913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7 = NoneT, GTEST_TEMPLATE_ T8 = NoneT, 244013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T9 = NoneT, GTEST_TEMPLATE_ T10 = NoneT, 244113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T11 = NoneT, GTEST_TEMPLATE_ T12 = NoneT, 244213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13 = NoneT, GTEST_TEMPLATE_ T14 = NoneT, 244313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T15 = NoneT, GTEST_TEMPLATE_ T16 = NoneT, 244413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T17 = NoneT, GTEST_TEMPLATE_ T18 = NoneT, 244513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19 = NoneT, GTEST_TEMPLATE_ T20 = NoneT, 244613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T21 = NoneT, GTEST_TEMPLATE_ T22 = NoneT, 244713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T23 = NoneT, GTEST_TEMPLATE_ T24 = NoneT, 244813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25 = NoneT, GTEST_TEMPLATE_ T26 = NoneT, 244913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T27 = NoneT, GTEST_TEMPLATE_ T28 = NoneT, 245013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T29 = NoneT, GTEST_TEMPLATE_ T30 = NoneT, 245113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31 = NoneT, GTEST_TEMPLATE_ T32 = NoneT, 245213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T33 = NoneT, GTEST_TEMPLATE_ T34 = NoneT, 245313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T35 = NoneT, GTEST_TEMPLATE_ T36 = NoneT, 245413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37 = NoneT, GTEST_TEMPLATE_ T38 = NoneT, 245513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T39 = NoneT, GTEST_TEMPLATE_ T40 = NoneT, 245613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T41 = NoneT, GTEST_TEMPLATE_ T42 = NoneT, 245713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43 = NoneT, GTEST_TEMPLATE_ T44 = NoneT, 245813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T45 = NoneT, GTEST_TEMPLATE_ T46 = NoneT, 245913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T47 = NoneT, GTEST_TEMPLATE_ T48 = NoneT, 246013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T49 = NoneT, GTEST_TEMPLATE_ T50 = NoneT> 246113481Sgiacomo.travaglini@arm.comstruct Templates { 246213481Sgiacomo.travaglini@arm.com typedef Templates50<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 246313481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 246413481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 246513481Sgiacomo.travaglini@arm.com T42, T43, T44, T45, T46, T47, T48, T49, T50> type; 246613481Sgiacomo.travaglini@arm.com}; 246713481Sgiacomo.travaglini@arm.com 246813481Sgiacomo.travaglini@arm.comtemplate <> 246913481Sgiacomo.travaglini@arm.comstruct Templates<NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247413481Sgiacomo.travaglini@arm.com NoneT> { 247513481Sgiacomo.travaglini@arm.com typedef Templates0 type; 247613481Sgiacomo.travaglini@arm.com}; 247713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1> 247813481Sgiacomo.travaglini@arm.comstruct Templates<T1, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 247913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248313481Sgiacomo.travaglini@arm.com NoneT> { 248413481Sgiacomo.travaglini@arm.com typedef Templates1<T1> type; 248513481Sgiacomo.travaglini@arm.com}; 248613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2> 248713481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 248913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249213481Sgiacomo.travaglini@arm.com NoneT> { 249313481Sgiacomo.travaglini@arm.com typedef Templates2<T1, T2> type; 249413481Sgiacomo.travaglini@arm.com}; 249513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3> 249613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 249913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 250013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 250113481Sgiacomo.travaglini@arm.com typedef Templates3<T1, T2, T3> type; 250213481Sgiacomo.travaglini@arm.com}; 250313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 250413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4> 250513481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 250613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 250713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 250813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 250913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 251013481Sgiacomo.travaglini@arm.com typedef Templates4<T1, T2, T3, T4> type; 251113481Sgiacomo.travaglini@arm.com}; 251213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 251313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5> 251413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 251513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 251613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 251713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 251813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 251913481Sgiacomo.travaglini@arm.com typedef Templates5<T1, T2, T3, T4, T5> type; 252013481Sgiacomo.travaglini@arm.com}; 252113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 252213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6> 252313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, NoneT, NoneT, NoneT, NoneT, NoneT, 252413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 252513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 252613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 252713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 252813481Sgiacomo.travaglini@arm.com typedef Templates6<T1, T2, T3, T4, T5, T6> type; 252913481Sgiacomo.travaglini@arm.com}; 253013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 253113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 253213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7> 253313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, NoneT, NoneT, NoneT, NoneT, NoneT, 253413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 253513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 253613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 253713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 253813481Sgiacomo.travaglini@arm.com typedef Templates7<T1, T2, T3, T4, T5, T6, T7> type; 253913481Sgiacomo.travaglini@arm.com}; 254013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 254113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 254213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8> 254313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, NoneT, NoneT, NoneT, NoneT, 254413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 254513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 254613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 254713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 254813481Sgiacomo.travaglini@arm.com typedef Templates8<T1, T2, T3, T4, T5, T6, T7, T8> type; 254913481Sgiacomo.travaglini@arm.com}; 255013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 255113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 255213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9> 255313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, NoneT, NoneT, NoneT, 255413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 255513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 255613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 255713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 255813481Sgiacomo.travaglini@arm.com typedef Templates9<T1, T2, T3, T4, T5, T6, T7, T8, T9> type; 255913481Sgiacomo.travaglini@arm.com}; 256013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 256113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 256213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 256313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10> 256413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, NoneT, NoneT, NoneT, 256513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 256613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 256713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 256813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 256913481Sgiacomo.travaglini@arm.com typedef Templates10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> type; 257013481Sgiacomo.travaglini@arm.com}; 257113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 257213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 257313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 257413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11> 257513481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, NoneT, NoneT, 257613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 257713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 257813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 257913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 258013481Sgiacomo.travaglini@arm.com typedef Templates11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> type; 258113481Sgiacomo.travaglini@arm.com}; 258213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 258313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 258413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 258513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12> 258613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, NoneT, 258713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 258813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 258913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 259013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 259113481Sgiacomo.travaglini@arm.com typedef Templates12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> type; 259213481Sgiacomo.travaglini@arm.com}; 259313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 259413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 259513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 259613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 259713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13> 259813481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, NoneT, 259913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 260013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 260113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 260213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 260313481Sgiacomo.travaglini@arm.com typedef Templates13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 260413481Sgiacomo.travaglini@arm.com T13> type; 260513481Sgiacomo.travaglini@arm.com}; 260613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 260713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 260813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 260913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 261013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14> 261113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 261213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 261313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 261413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 261513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 261613481Sgiacomo.travaglini@arm.com typedef Templates14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 261713481Sgiacomo.travaglini@arm.com T14> type; 261813481Sgiacomo.travaglini@arm.com}; 261913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 262013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 262113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 262213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 262313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15> 262413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 262513481Sgiacomo.travaglini@arm.com T15, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 262613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 262713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 262813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT> { 262913481Sgiacomo.travaglini@arm.com typedef Templates15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 263013481Sgiacomo.travaglini@arm.com T14, T15> type; 263113481Sgiacomo.travaglini@arm.com}; 263213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 263313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 263413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 263513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 263613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 263713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16> 263813481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 263913481Sgiacomo.travaglini@arm.com T15, T16, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 264013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 264113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 264213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT> { 264313481Sgiacomo.travaglini@arm.com typedef Templates16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 264413481Sgiacomo.travaglini@arm.com T14, T15, T16> type; 264513481Sgiacomo.travaglini@arm.com}; 264613481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 264713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 264813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 264913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 265013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 265113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17> 265213481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 265313481Sgiacomo.travaglini@arm.com T15, T16, T17, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 265413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 265513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 265613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT> { 265713481Sgiacomo.travaglini@arm.com typedef Templates17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 265813481Sgiacomo.travaglini@arm.com T14, T15, T16, T17> type; 265913481Sgiacomo.travaglini@arm.com}; 266013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 266113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 266213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 266313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 266413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 266513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18> 266613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 266713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 266813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 266913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 267013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT> { 267113481Sgiacomo.travaglini@arm.com typedef Templates18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 267213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18> type; 267313481Sgiacomo.travaglini@arm.com}; 267413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 267513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 267613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 267713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 267813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 267913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 268013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19> 268113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 268213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 268313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 268413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 268513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT> { 268613481Sgiacomo.travaglini@arm.com typedef Templates19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 268713481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19> type; 268813481Sgiacomo.travaglini@arm.com}; 268913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 269013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 269113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 269213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 269313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 269413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 269513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20> 269613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 269713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 269813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 269913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 270013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT> { 270113481Sgiacomo.travaglini@arm.com typedef Templates20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 270213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20> type; 270313481Sgiacomo.travaglini@arm.com}; 270413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 270513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 270613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 270713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 270813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 270913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 271013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21> 271113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 271213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, NoneT, NoneT, NoneT, NoneT, NoneT, 271313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 271413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 271513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT> { 271613481Sgiacomo.travaglini@arm.com typedef Templates21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 271713481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21> type; 271813481Sgiacomo.travaglini@arm.com}; 271913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 272013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 272113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 272213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 272313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 272413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 272513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 272613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22> 272713481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 272813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, NoneT, NoneT, NoneT, NoneT, NoneT, 272913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 273013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 273113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT> { 273213481Sgiacomo.travaglini@arm.com typedef Templates22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 273313481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22> type; 273413481Sgiacomo.travaglini@arm.com}; 273513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 273613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 273713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 273813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 273913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 274013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 274113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 274213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23> 274313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 274413481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, NoneT, NoneT, NoneT, NoneT, 274513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 274613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 274713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT> { 274813481Sgiacomo.travaglini@arm.com typedef Templates23<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 274913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> type; 275013481Sgiacomo.travaglini@arm.com}; 275113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 275213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 275313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 275413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 275513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 275613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 275713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 275813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24> 275913481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 276013481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, NoneT, NoneT, NoneT, 276113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 276213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 276313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT> { 276413481Sgiacomo.travaglini@arm.com typedef Templates24<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 276513481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> type; 276613481Sgiacomo.travaglini@arm.com}; 276713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 276813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 276913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 277013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 277113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 277213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 277313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 277413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 277513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25> 277613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 277713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, NoneT, NoneT, NoneT, 277813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 277913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 278013481Sgiacomo.travaglini@arm.com NoneT, NoneT> { 278113481Sgiacomo.travaglini@arm.com typedef Templates25<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 278213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25> type; 278313481Sgiacomo.travaglini@arm.com}; 278413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 278513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 278613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 278713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 278813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 278913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 279013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 279113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 279213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26> 279313481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 279413481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, NoneT, NoneT, 279513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 279613481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 279713481Sgiacomo.travaglini@arm.com NoneT, NoneT> { 279813481Sgiacomo.travaglini@arm.com typedef Templates26<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 279913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26> type; 280013481Sgiacomo.travaglini@arm.com}; 280113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 280213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 280313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 280413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 280513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 280613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 280713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 280813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 280913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27> 281013481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 281113481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, NoneT, 281213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 281313481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 281413481Sgiacomo.travaglini@arm.com NoneT, NoneT> { 281513481Sgiacomo.travaglini@arm.com typedef Templates27<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 281613481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 281713481Sgiacomo.travaglini@arm.com T27> type; 281813481Sgiacomo.travaglini@arm.com}; 281913481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 282013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 282113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 282213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 282313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 282413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 282513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 282613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 282713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 282813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28> 282913481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 283013481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 283113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 283213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 283313481Sgiacomo.travaglini@arm.com NoneT, NoneT> { 283413481Sgiacomo.travaglini@arm.com typedef Templates28<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 283513481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 283613481Sgiacomo.travaglini@arm.com T28> type; 283713481Sgiacomo.travaglini@arm.com}; 283813481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 283913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 284013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 284113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 284213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 284313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 284413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 284513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 284613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 284713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29> 284813481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 284913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 285013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 285113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 285213481Sgiacomo.travaglini@arm.com NoneT> { 285313481Sgiacomo.travaglini@arm.com typedef Templates29<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 285413481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 285513481Sgiacomo.travaglini@arm.com T28, T29> type; 285613481Sgiacomo.travaglini@arm.com}; 285713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 285813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 285913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 286013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 286113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 286213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 286313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 286413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 286513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 286613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30> 286713481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 286813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 286913481Sgiacomo.travaglini@arm.com T30, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 287013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 287113481Sgiacomo.travaglini@arm.com typedef Templates30<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 287213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 287313481Sgiacomo.travaglini@arm.com T28, T29, T30> type; 287413481Sgiacomo.travaglini@arm.com}; 287513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 287613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 287713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 287813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 287913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 288013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 288113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 288213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 288313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 288413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 288513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31> 288613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 288713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 288813481Sgiacomo.travaglini@arm.com T30, T31, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 288913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 289013481Sgiacomo.travaglini@arm.com typedef Templates31<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 289113481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 289213481Sgiacomo.travaglini@arm.com T28, T29, T30, T31> type; 289313481Sgiacomo.travaglini@arm.com}; 289413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 289513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 289613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 289713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 289813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 289913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 290013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 290113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 290213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 290313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 290413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32> 290513481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 290613481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 290713481Sgiacomo.travaglini@arm.com T30, T31, T32, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 290813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 290913481Sgiacomo.travaglini@arm.com typedef Templates32<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 291013481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 291113481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32> type; 291213481Sgiacomo.travaglini@arm.com}; 291313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 291413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 291513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 291613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 291713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 291813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 291913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 292013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 292113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 292213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 292313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33> 292413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 292513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 292613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 292713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 292813481Sgiacomo.travaglini@arm.com typedef Templates33<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 292913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 293013481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33> type; 293113481Sgiacomo.travaglini@arm.com}; 293213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 293313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 293413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 293513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 293613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 293713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 293813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 293913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 294013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 294113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 294213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 294313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34> 294413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 294513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 294613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 294713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 294813481Sgiacomo.travaglini@arm.com typedef Templates34<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 294913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 295013481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34> type; 295113481Sgiacomo.travaglini@arm.com}; 295213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 295313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 295413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 295513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 295613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 295713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 295813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 295913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 296013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 296113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 296213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 296313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35> 296413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 296513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 296613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, 296713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 296813481Sgiacomo.travaglini@arm.com typedef Templates35<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 296913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 297013481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35> type; 297113481Sgiacomo.travaglini@arm.com}; 297213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 297313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 297413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 297513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 297613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 297713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 297813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 297913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 298013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 298113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 298213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 298313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36> 298413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 298513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 298613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, NoneT, NoneT, NoneT, NoneT, NoneT, 298713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 298813481Sgiacomo.travaglini@arm.com typedef Templates36<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 298913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 299013481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36> type; 299113481Sgiacomo.travaglini@arm.com}; 299213481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 299313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 299413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 299513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 299613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 299713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 299813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 299913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 300013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 300113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 300213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 300313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 300413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37> 300513481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 300613481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 300713481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, NoneT, NoneT, NoneT, NoneT, NoneT, 300813481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 300913481Sgiacomo.travaglini@arm.com typedef Templates37<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 301013481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 301113481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37> type; 301213481Sgiacomo.travaglini@arm.com}; 301313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 301413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 301513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 301613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 301713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 301813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 301913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 302013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 302113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 302213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 302313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 302413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 302513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38> 302613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 302713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 302813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, NoneT, NoneT, NoneT, NoneT, 302913481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 303013481Sgiacomo.travaglini@arm.com typedef Templates38<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 303113481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 303213481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38> type; 303313481Sgiacomo.travaglini@arm.com}; 303413481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 303513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 303613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 303713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 303813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 303913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 304013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 304113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 304213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 304313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 304413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 304513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 304613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39> 304713481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 304813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 304913481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, NoneT, NoneT, NoneT, 305013481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 305113481Sgiacomo.travaglini@arm.com typedef Templates39<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 305213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 305313481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39> type; 305413481Sgiacomo.travaglini@arm.com}; 305513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 305613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 305713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 305813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 305913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 306013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 306113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 306213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 306313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 306413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 306513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 306613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 306713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 306813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40> 306913481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 307013481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 307113481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, NoneT, NoneT, NoneT, 307213481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 307313481Sgiacomo.travaglini@arm.com typedef Templates40<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 307413481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 307513481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40> type; 307613481Sgiacomo.travaglini@arm.com}; 307713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 307813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 307913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 308013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 308113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 308213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 308313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 308413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 308513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 308613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 308713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 308813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 308913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 309013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41> 309113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 309213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 309313481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, NoneT, NoneT, 309413481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 309513481Sgiacomo.travaglini@arm.com typedef Templates41<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 309613481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 309713481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 309813481Sgiacomo.travaglini@arm.com T41> type; 309913481Sgiacomo.travaglini@arm.com}; 310013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 310113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 310213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 310313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 310413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 310513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 310613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 310713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 310813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 310913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 311013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 311113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 311213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 311313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42> 311413481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 311513481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 311613481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, NoneT, 311713481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 311813481Sgiacomo.travaglini@arm.com typedef Templates42<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 311913481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 312013481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 312113481Sgiacomo.travaglini@arm.com T42> type; 312213481Sgiacomo.travaglini@arm.com}; 312313481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 312413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 312513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 312613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 312713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 312813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 312913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 313013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 313113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 313213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 313313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 313413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 313513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 313613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 313713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43> 313813481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 313913481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 314013481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 314113481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 314213481Sgiacomo.travaglini@arm.com typedef Templates43<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 314313481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 314413481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 314513481Sgiacomo.travaglini@arm.com T42, T43> type; 314613481Sgiacomo.travaglini@arm.com}; 314713481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 314813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 314913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 315013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 315113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 315213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 315313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 315413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 315513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 315613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 315713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 315813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 315913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 316013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 316113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44> 316213481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 316313481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 316413481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 316513481Sgiacomo.travaglini@arm.com NoneT, NoneT, NoneT, NoneT, NoneT, NoneT> { 316613481Sgiacomo.travaglini@arm.com typedef Templates44<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 316713481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 316813481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 316913481Sgiacomo.travaglini@arm.com T42, T43, T44> type; 317013481Sgiacomo.travaglini@arm.com}; 317113481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 317213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 317313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 317413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 317513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 317613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 317713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 317813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 317913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 318013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 318113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 318213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 318313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 318413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 318513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45> 318613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 318713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 318813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 318913481Sgiacomo.travaglini@arm.com T45, NoneT, NoneT, NoneT, NoneT, NoneT> { 319013481Sgiacomo.travaglini@arm.com typedef Templates45<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 319113481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 319213481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 319313481Sgiacomo.travaglini@arm.com T42, T43, T44, T45> type; 319413481Sgiacomo.travaglini@arm.com}; 319513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 319613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 319713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 319813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 319913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 320013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 320113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 320213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 320313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 320413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 320513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 320613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 320713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 320813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 320913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 321013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46> 321113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 321213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 321313481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 321413481Sgiacomo.travaglini@arm.com T45, T46, NoneT, NoneT, NoneT, NoneT> { 321513481Sgiacomo.travaglini@arm.com typedef Templates46<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 321613481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 321713481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 321813481Sgiacomo.travaglini@arm.com T42, T43, T44, T45, T46> type; 321913481Sgiacomo.travaglini@arm.com}; 322013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 322113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 322213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 322313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 322413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 322513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 322613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 322713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 322813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 322913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 323013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 323113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 323213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 323313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 323413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 323513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47> 323613481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 323713481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 323813481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 323913481Sgiacomo.travaglini@arm.com T45, T46, T47, NoneT, NoneT, NoneT> { 324013481Sgiacomo.travaglini@arm.com typedef Templates47<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 324113481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 324213481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 324313481Sgiacomo.travaglini@arm.com T42, T43, T44, T45, T46, T47> type; 324413481Sgiacomo.travaglini@arm.com}; 324513481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 324613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 324713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 324813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 324913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 325013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 325113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 325213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 325313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 325413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 325513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 325613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 325713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 325813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 325913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 326013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48> 326113481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 326213481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 326313481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 326413481Sgiacomo.travaglini@arm.com T45, T46, T47, T48, NoneT, NoneT> { 326513481Sgiacomo.travaglini@arm.com typedef Templates48<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 326613481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 326713481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 326813481Sgiacomo.travaglini@arm.com T42, T43, T44, T45, T46, T47, T48> type; 326913481Sgiacomo.travaglini@arm.com}; 327013481Sgiacomo.travaglini@arm.comtemplate <GTEST_TEMPLATE_ T1, GTEST_TEMPLATE_ T2, GTEST_TEMPLATE_ T3, 327113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T4, GTEST_TEMPLATE_ T5, GTEST_TEMPLATE_ T6, 327213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T7, GTEST_TEMPLATE_ T8, GTEST_TEMPLATE_ T9, 327313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T10, GTEST_TEMPLATE_ T11, GTEST_TEMPLATE_ T12, 327413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T13, GTEST_TEMPLATE_ T14, GTEST_TEMPLATE_ T15, 327513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T16, GTEST_TEMPLATE_ T17, GTEST_TEMPLATE_ T18, 327613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T19, GTEST_TEMPLATE_ T20, GTEST_TEMPLATE_ T21, 327713481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T22, GTEST_TEMPLATE_ T23, GTEST_TEMPLATE_ T24, 327813481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T25, GTEST_TEMPLATE_ T26, GTEST_TEMPLATE_ T27, 327913481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T28, GTEST_TEMPLATE_ T29, GTEST_TEMPLATE_ T30, 328013481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T31, GTEST_TEMPLATE_ T32, GTEST_TEMPLATE_ T33, 328113481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T34, GTEST_TEMPLATE_ T35, GTEST_TEMPLATE_ T36, 328213481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T37, GTEST_TEMPLATE_ T38, GTEST_TEMPLATE_ T39, 328313481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T40, GTEST_TEMPLATE_ T41, GTEST_TEMPLATE_ T42, 328413481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T43, GTEST_TEMPLATE_ T44, GTEST_TEMPLATE_ T45, 328513481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T46, GTEST_TEMPLATE_ T47, GTEST_TEMPLATE_ T48, 328613481Sgiacomo.travaglini@arm.com GTEST_TEMPLATE_ T49> 328713481Sgiacomo.travaglini@arm.comstruct Templates<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, 328813481Sgiacomo.travaglini@arm.com T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, 328913481Sgiacomo.travaglini@arm.com T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, 329013481Sgiacomo.travaglini@arm.com T45, T46, T47, T48, T49, NoneT> { 329113481Sgiacomo.travaglini@arm.com typedef Templates49<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 329213481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, 329313481Sgiacomo.travaglini@arm.com T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, 329413481Sgiacomo.travaglini@arm.com T42, T43, T44, T45, T46, T47, T48, T49> type; 329513481Sgiacomo.travaglini@arm.com}; 329613481Sgiacomo.travaglini@arm.com 329713481Sgiacomo.travaglini@arm.com// The TypeList template makes it possible to use either a single type 329813481Sgiacomo.travaglini@arm.com// or a Types<...> list in TYPED_TEST_CASE() and 329913481Sgiacomo.travaglini@arm.com// INSTANTIATE_TYPED_TEST_CASE_P(). 330013481Sgiacomo.travaglini@arm.com 330113481Sgiacomo.travaglini@arm.comtemplate <typename T> 330213481Sgiacomo.travaglini@arm.comstruct TypeList { 330313481Sgiacomo.travaglini@arm.com typedef Types1<T> type; 330413481Sgiacomo.travaglini@arm.com}; 330513481Sgiacomo.travaglini@arm.com 330613481Sgiacomo.travaglini@arm.comtemplate <typename T1, typename T2, typename T3, typename T4, typename T5, 330713481Sgiacomo.travaglini@arm.com typename T6, typename T7, typename T8, typename T9, typename T10, 330813481Sgiacomo.travaglini@arm.com typename T11, typename T12, typename T13, typename T14, typename T15, 330913481Sgiacomo.travaglini@arm.com typename T16, typename T17, typename T18, typename T19, typename T20, 331013481Sgiacomo.travaglini@arm.com typename T21, typename T22, typename T23, typename T24, typename T25, 331113481Sgiacomo.travaglini@arm.com typename T26, typename T27, typename T28, typename T29, typename T30, 331213481Sgiacomo.travaglini@arm.com typename T31, typename T32, typename T33, typename T34, typename T35, 331313481Sgiacomo.travaglini@arm.com typename T36, typename T37, typename T38, typename T39, typename T40, 331413481Sgiacomo.travaglini@arm.com typename T41, typename T42, typename T43, typename T44, typename T45, 331513481Sgiacomo.travaglini@arm.com typename T46, typename T47, typename T48, typename T49, typename T50> 331613481Sgiacomo.travaglini@arm.comstruct TypeList<Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, 331713481Sgiacomo.travaglini@arm.com T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, 331813481Sgiacomo.travaglini@arm.com T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, 331913481Sgiacomo.travaglini@arm.com T44, T45, T46, T47, T48, T49, T50> > { 332013481Sgiacomo.travaglini@arm.com typedef typename Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, 332113481Sgiacomo.travaglini@arm.com T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, 332213481Sgiacomo.travaglini@arm.com T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, 332313481Sgiacomo.travaglini@arm.com T41, T42, T43, T44, T45, T46, T47, T48, T49, T50>::type type; 332413481Sgiacomo.travaglini@arm.com}; 332513481Sgiacomo.travaglini@arm.com 332613481Sgiacomo.travaglini@arm.com#endif // GTEST_HAS_TYPED_TEST || GTEST_HAS_TYPED_TEST_P 332713481Sgiacomo.travaglini@arm.com 332813481Sgiacomo.travaglini@arm.com} // namespace internal 332913481Sgiacomo.travaglini@arm.com} // namespace testing 333013481Sgiacomo.travaglini@arm.com 333113481Sgiacomo.travaglini@arm.com#endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_TYPE_UTIL_H_ 3332