reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/CodeGen/MachineInstr.h
   50 class SmallBitVector;
tools/clang/include/clang/Sema/Sema.h
   67   class SmallBitVector;

References

gen/lib/Target/AMDGPU/AMDGPUGenAsmMatcher.inc
   17                        const SmallBitVector &OptionalOperandsMask);
 3779                 const SmallBitVector &OptionalOperandsMask) {
23949   SmallBitVector OptionalOperandsMask(27);
include/llvm/ADT/BitVector.h
   32   const BitVectorT &Parent;
   41   const_set_bits_iterator_impl(const BitVectorT &Parent, int Current)
   43   explicit const_set_bits_iterator_impl(const BitVectorT &Parent)
include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   45   ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
   46   const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
   66   using mapped_type = ValueT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  123         is_trivially_copyable<ValueT>::value) {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  299   ValueT &operator[](const KeyT &Key) {
  311   ValueT &operator[](KeyT &&Key) {
  380         ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  526                                       ValueT &&Value, LookupKeyT &Lookup) {
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
include/llvm/ADT/PackedVector.h
   30   static T getValue(const BitVectorTy &Bits, unsigned Idx) {
   37   static void setValue(BitVectorTy &Bits, unsigned Idx, T val) {
   75 class PackedVector : public PackedVectorBase<T, BitNum, BitVectorTy,
   77   BitVectorTy Bits;
   78   using base = PackedVectorBase<T, BitNum, BitVectorTy,
include/llvm/ADT/SmallBitVector.h
   67     SmallBitVector &TheVector;
   71     reference(SmallBitVector &b, unsigned Idx) : TheVector(b), BitPos(Idx) {}
  153   SmallBitVector(const SmallBitVector &RHS) {
  160   SmallBitVector(SmallBitVector &&RHS) : X(RHS.X) {
  169   using const_set_bits_iterator = const_set_bits_iterator_impl<SmallBitVector>;
  363   SmallBitVector &set() {
  371   SmallBitVector &set(unsigned Idx) {
  384   SmallBitVector &set(unsigned I, unsigned E) {
  398   SmallBitVector &reset() {
  406   SmallBitVector &reset(unsigned Idx) {
  415   SmallBitVector &reset(unsigned I, unsigned E) {
  429   SmallBitVector &flip() {
  437   SmallBitVector &flip(unsigned Idx) {
  446   SmallBitVector operator~() const {
  473   bool anyCommon(const SmallBitVector &RHS) const {
  486   bool operator==(const SmallBitVector &RHS) const {
  502   bool operator!=(const SmallBitVector &RHS) const {
  508   SmallBitVector &operator&=(const SmallBitVector &RHS) {
  508   SmallBitVector &operator&=(const SmallBitVector &RHS) {
  525   SmallBitVector &reset(const SmallBitVector &RHS) {
  525   SmallBitVector &reset(const SmallBitVector &RHS) {
  539   bool test(const SmallBitVector &RHS) const {
  557   SmallBitVector &operator|=(const SmallBitVector &RHS) {
  557   SmallBitVector &operator|=(const SmallBitVector &RHS) {
  570   SmallBitVector &operator^=(const SmallBitVector &RHS) {
  570   SmallBitVector &operator^=(const SmallBitVector &RHS) {
  583   SmallBitVector &operator<<=(unsigned N) {
  591   SmallBitVector &operator>>=(unsigned N) {
  600   const SmallBitVector &operator=(const SmallBitVector &RHS) {
  600   const SmallBitVector &operator=(const SmallBitVector &RHS) {
  617   const SmallBitVector &operator=(SmallBitVector &&RHS) {
  617   const SmallBitVector &operator=(SmallBitVector &&RHS) {
  625   void swap(SmallBitVector &RHS) {
  681 inline SmallBitVector
  682 operator&(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  682 operator&(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  683   SmallBitVector Result(LHS);
  688 inline SmallBitVector
  689 operator|(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  689 operator|(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  690   SmallBitVector Result(LHS);
  695 inline SmallBitVector
  696 operator^(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  696 operator^(const SmallBitVector &LHS, const SmallBitVector &RHS) {
  697   SmallBitVector Result(LHS);
  708 swap(llvm::SmallBitVector &LHS, llvm::SmallBitVector &RHS) {
  708 swap(llvm::SmallBitVector &LHS, llvm::SmallBitVector &RHS) {
include/llvm/Analysis/DependenceAnalysis.h
  348       SmallBitVector Loops;
  349       SmallBitVector GroupLoops;
  350       SmallBitVector Group;
  541                             SmallBitVector &Loops) const;
  547                            SmallBitVector &Loops);
  553                            SmallBitVector &Loops);
  593                                            SmallBitVector &Loops);
  639                  const SmallBitVector &Loops,
  779                          const SmallBitVector &Loops,
  816                                const SmallBitVector &Loops,
  866                    SmallBitVector &Loops,
include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
  332   SmallBitVector TypeIdxsCovered{MCOI::OPERAND_LAST_GENERIC -
  334   SmallBitVector ImmIdxsCovered{MCOI::OPERAND_LAST_GENERIC_IMM -
include/llvm/CodeGen/MachineInstr.h
 1508   LLT getTypeToPrint(unsigned OpIdx, SmallBitVector &PrintedTypes,
include/llvm/Support/type_traits.h
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
lib/Analysis/DependenceAnalysis.cpp
  797                                         SmallBitVector &Loops) const {
  883                                        SmallBitVector &Loops) {
  908                                        SmallBitVector &Loops) {
  935                              SmallBitVector &Loops) {
  936   SmallBitVector SrcLoops(MaxLevels + 1);
  937   SmallBitVector DstLoops(MaxLevels + 1);
 2288                              const SmallBitVector &Loops,
 2533                                      const SmallBitVector &Loops,
 2614                                            const SmallBitVector &Loops,
 3068                                SmallBitVector &Loops,
 3369 static void dumpSmallBitVector(SmallBitVector &BV) {
 3485   SmallBitVector Separable(Pairs);
 3486   SmallBitVector Coupled(Pairs);
 3564         SmallBitVector Intersection = Pair[SI].GroupLoops;
 3637       SmallBitVector Group(Pair[SI].Group);
 3638       SmallBitVector Sivs(Pairs);
 3639       SmallBitVector Mivs(Pairs);
 3640       SmallBitVector ConstrainedLevels(MaxLevels + 1);
 3748   SmallBitVector CompleteLoops(MaxLevels + 1);
 3880   SmallBitVector Separable(Pairs);
 3881   SmallBitVector Coupled(Pairs);
 3901         SmallBitVector Intersection = Pair[SI].GroupLoops;
 3952       SmallBitVector Group(Pair[SI].Group);
 3953       SmallBitVector Sivs(Pairs);
 3954       SmallBitVector Mivs(Pairs);
 3955       SmallBitVector ConstrainedLevels(MaxLevels + 1);
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
  143   SmallBitVector Coverage(RegSize, false);
  154     SmallBitVector CurSubReg(RegSize, false);
lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  479   SmallBitVector SeenTypes(8);
lib/CodeGen/MIRPrinter.cpp
  716   SmallBitVector PrintedTypes(8);
lib/CodeGen/MachineDominators.cpp
   95   SmallBitVector IsNewIDom(CriticalEdgesToSplit.size(), true);
lib/CodeGen/MachineInstr.cpp
 1423 LLT MachineInstr::getTypeToPrint(unsigned OpIdx, SmallBitVector &PrintedTypes,
 1485   SmallBitVector PrintedTypes(8);
lib/CodeGen/SelectionDAG/StatepointLowering.h
  117   SmallBitVector AllocatedStackSlots;
lib/ProfileData/Coverage/CoverageMapping.cpp
  613 static SmallBitVector gatherFileIDs(StringRef SourceFile,
  615   SmallBitVector FilenameEquivalence(Function.Filenames.size(), false);
  624   SmallBitVector IsNotExpandedFile(Function.Filenames.size(), true);
  659     auto FileIDs = gatherFileIDs(Filename, Function);
lib/Target/X86/X86ISelLowering.cpp
14674   SmallBitVector LaneInputs[2];
lib/Transforms/Scalar/LoopStrengthReduce.cpp
  212   SmallBitVector UsedByIndices;
  246   const SmallBitVector &getUsedByIndices(const SCEV *Reg) const;
  288     SmallBitVector &UsedByIndices = Pair.second.UsedByIndices;
  301   const SmallBitVector &UsedByIndices = I->second.UsedByIndices;
  308 const SmallBitVector &RegUseTracker::getUsedByIndices(const SCEV *Reg) const {
 4106   DenseMap<const SCEV *, SmallBitVector> UsedByIndicesMap;
 4142       const SmallBitVector &UsedByIndices = RegUses.getUsedByIndices(OrigReg);
 4614         const SmallBitVector &UsedByIndices = RegUses.getUsedByIndices(Reg);
 4619         const SmallBitVector &UsedByIndices = RegUses.getUsedByIndices(Reg);
lib/Transforms/Scalar/SROA.cpp
 4279     SmallBitVector SplittableOffset(AllocaSize + 1, true);
tools/clang/include/clang/Sema/Sema.h
 5011   llvm::SmallBitVector FullyCheckedComparisonCategories;
 7666                                   llvm::SmallBitVector &Used);
 7669                                   llvm::SmallBitVector &Deduced) {
 7674                                   llvm::SmallBitVector &Deduced);
11354                             llvm::SmallBitVector &CheckedVarArgs);
11360                             llvm::SmallBitVector &CheckedVarArgs);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
   37     llvm::SmallBitVector VisitedBasicBlocks;
   98     llvm::SmallBitVector &Blocks = I->second.VisitedBasicBlocks;
tools/clang/lib/AST/ExprConstant.cpp
 5435   llvm::SmallBitVector ForbiddenNullArgs;
tools/clang/lib/Analysis/UninitializedValues.cpp
  116 using ValueVector = llvm::PackedVector<Value, 2, llvm::SmallBitVector>;
tools/clang/lib/Sema/SemaChecking.cpp
 4215   llvm::SmallBitVector NonNullArgs;
 4313   llvm::SmallBitVector CheckedVarArgs;
 6158     llvm::SmallBitVector CheckedVarArgs(NumArgs, false);
 6785                               llvm::SmallBitVector &CheckedVarArgs,
 6798                       llvm::SmallBitVector &CheckedVarArgs,
 7123                                 llvm::SmallBitVector &CheckedVarArgs) {
 7137                                 llvm::SmallBitVector &CheckedVarArgs) {
 7230   llvm::SmallBitVector CoveredArgs;
 7235   llvm::SmallBitVector &CheckedVarArgs;
 7245                      llvm::SmallBitVector &CheckedVarArgs,
 7684                      llvm::SmallBitVector &CheckedVarArgs,
 8597                     llvm::SmallBitVector &CheckedVarArgs,
 8769                               llvm::SmallBitVector &CheckedVarArgs,
tools/clang/lib/Sema/SemaCodeComplete.cpp
 3376     llvm::SmallBitVector Deduced;
tools/clang/lib/Sema/SemaTemplate.cpp
 3753                            const llvm::SmallBitVector &DeducibleParams) {
 3784   llvm::SmallBitVector DeducibleParams(TemplateParams->size());
 3815   llvm::SmallBitVector DeducibleParams(TemplateParams->size());
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  164                                        llvm::SmallBitVector &Used);
  168                                        llvm::SmallBitVector &Deduced);
  721     llvm::SmallBitVector SawIndices(TemplateParams->size());
  747     llvm::SmallBitVector Used(TemplateParams->size());
 4832   llvm::SmallBitVector UsedParameters(TemplateParams->size());
 5262                            llvm::SmallBitVector &Used) {
 5308                            llvm::SmallBitVector &Used) {
 5325                            llvm::SmallBitVector &Used) {
 5349                            llvm::SmallBitVector &Used) {
 5626                            llvm::SmallBitVector &Used) {
 5674                                  llvm::SmallBitVector &Used) {
 5692     llvm::SmallBitVector &Deduced) {
 5712   llvm::SmallBitVector Deduced(TemplateParams->size());
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
   49 static llvm::SmallBitVector getNonNullAttrs(const CallEvent &Call) {
   52   llvm::SmallBitVector AttrNonNull(NumArgs);
   73   llvm::SmallBitVector AttrNonNull = getNonNullAttrs(Call);
tools/lldb/include/lldb/Symbol/TypeSystem.h
   41   llvm::SmallBitVector bitvector;
unittests/ADT/BitVectorTest.cpp
   22 typedef ::testing::Types<BitVector, SmallBitVector> BitVectorTestTypes;
  264 static bool SmallBitVectorIsSmallMode(const SmallBitVector &bv) {
  817 static inline VecType createBitVector(uint32_t Size,
  819   VecType V;
  901   auto A = createBitVector<TypeParam>(300, {{1, 30}, {60, 95}, {200, 275}});
  904   auto B = A;
  909   auto Expected = createBitVector<TypeParam>(
 1056 static void testEmpty(const TypeParam &A) {
usr/include/c++/7.4.0/bits/move.h
   98     move(_Tp&& __t) noexcept
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
usr/include/c++/7.4.0/bits/stl_pair.h
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2574       typename remove_reference<_Tp>::type>::type>::type
utils/unittest/googletest/include/gtest/gtest-printers.h
  140   static void PrintValue(const T& value, ::std::ostream* os) {
  205     ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
  206   TypeWithoutFormatter<T,
  207       (internal::IsAProtocolMessage<T>::value ? kProtobuf :
  208        internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
  223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
  276   static ::std::string Format(const ToPrint& value) {
  351     const T1& value, const T2& /* other_operand */) {
  351     const T1& value, const T2& /* other_operand */) {
  352   return FormatForComparison<T1, T2>::Format(value);
  352   return FormatForComparison<T1, T2>::Format(value);
  366 void UniversalPrint(const T& value, ::std::ostream* os);
  373                     const C& container, ::std::ostream* os) {
  439                     const T& value, ::std::ostream* os) {
  455 void PrintTo(const T& value, ::std::ostream* os) {
  478   DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
  699   static void Print(const T& value, ::std::ostream* os) {
  784   static void Print(const T& value, ::std::ostream* os) {
  856   typedef T T1;
  983   internal::UniversalTersePrinter<T>::Print(value, &ss);
utils/unittest/googletest/include/gtest/gtest.h
 1377                                    const T1& lhs, const T2& rhs) {
 1377                                    const T1& lhs, const T2& rhs) {
 1389                             const T1& lhs,
 1390                             const T2& rhs) {
 1419                                  const T1& lhs,
 1420                                  const T2& rhs) {
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h
   29   static const T& printable(const T& V) { return V; }
   29   static const T& printable(const T& V) { return V; }
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
   37   return StreamSwitch<T>::printable(V);
utils/unittest/googletest/include/gtest/internal/gtest-internal.h
   94 ::std::string PrintToString(const T& value);
utils/unittest/googletest/include/gtest/internal/gtest-type-util.h
  124   typedef T1 Head;
  130   typedef Types1<T2> Tail;
  806   typedef internal::Types2<T1, T2> type;
 3320   typedef typename Types<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12,