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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  287 TEMPLATETYPEPARM(TemplateTypeParm, TypeDecl)
tools/clang/include/clang/AST/ASTContext.h
  122 class TemplateTypeParmDecl;
tools/clang/include/clang/AST/CanonicalType.h
   40 class TemplateTypeParmDecl;
tools/clang/include/clang/AST/DeclTemplate.h
   53 class TemplateTypeParmDecl;
tools/clang/include/clang/AST/Type.h
  121 class TemplateTypeParmDecl;
tools/clang/include/clang/AST/TypeLoc.h
   42 class TemplateTypeParmDecl;
tools/clang/include/clang/Sema/ScopeInfo.h
   60 class TemplateTypeParmDecl;
tools/lldb/include/lldb/Core/ClangForward.h
  113 class TemplateTypeParmDecl;

References

include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
tools/clang/include/clang/AST/ASTContext.h
 1441                           TemplateTypeParmDecl *ParmDecl = nullptr) const;
tools/clang/include/clang/AST/ASTNodeTraverser.h
  513   void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/DeclBase.h
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclTemplate.h
   60     llvm::PointerUnion3<TemplateTypeParmDecl *, NonTypeTemplateParmDecl *,
  306     ParmDecl *PrevDeclWithDefaultArg;
  312   llvm::PointerUnion3<ArgType, ParmDecl*, Chain*> ValueOrInherited;
  314   static ParmDecl *getParmOwningDefaultArg(ParmDecl *Parm) {
  314   static ParmDecl *getParmOwningDefaultArg(ParmDecl *Parm) {
  316     if (auto *Prev = Storage.ValueOrInherited.template dyn_cast<ParmDecl *>())
  316     if (auto *Prev = Storage.ValueOrInherited.template dyn_cast<ParmDecl *>())
  332   bool isInherited() const { return ValueOrInherited.template is<ParmDecl*>(); }
  338     if (const auto *Prev = ValueOrInherited.template dyn_cast<ParmDecl *>())
  338     if (const auto *Prev = ValueOrInherited.template dyn_cast<ParmDecl *>())
  347   const ParmDecl *getInheritedFrom() const {
  348     if (const auto *D = ValueOrInherited.template dyn_cast<ParmDecl *>())
  348     if (const auto *D = ValueOrInherited.template dyn_cast<ParmDecl *>())
  362   void setInherited(const ASTContext &C, ParmDecl *InheritedFrom) {
 1162       DefaultArgStorage<TemplateTypeParmDecl, TypeSourceInfo *>;
 1171   static TemplateTypeParmDecl *Create(const ASTContext &C, DeclContext *DC,
 1177   static TemplateTypeParmDecl *CreateDeserialized(const ASTContext &C,
 1219                                    TemplateTypeParmDecl *Prev) {
 3080   if (auto *PD = P.dyn_cast<TemplateTypeParmDecl *>())
 3080   if (auto *PD = P.dyn_cast<TemplateTypeParmDecl *>())
tools/clang/include/clang/AST/JSONNodeDumper.h
  238   void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1782   if (D->getTypeForDecl())
 1783     TRY_TO(TraverseType(QualType(D->getTypeForDecl(), 0)));
 1784   if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited())
 1784   if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited())
 1785     TRY_TO(TraverseTypeLoc(D->getDefaultArgumentInfo()->getTypeLoc()));
tools/clang/include/clang/AST/TextNodeDumper.h
  325   void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D);
tools/clang/include/clang/AST/Type.h
 4611     TemplateTypeParmDecl *TTPDecl;
 4615   TemplateTypeParmType(TemplateTypeParmDecl *TTPDecl, QualType Canon)
 4643   TemplateTypeParmDecl *getDecl() const {
 4658                       TemplateTypeParmDecl *TTPDecl) {
tools/clang/include/clang/AST/TypeLoc.h
  739   TemplateTypeParmDecl *getDecl() const { return getTypePtr()->getDecl(); }
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
  525 extern const internal::VariadicDynCastAllOfMatcher<Decl, TemplateTypeParmDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/Sema.h
 6968   bool CheckTemplateTypeArgument(TemplateTypeParmDecl *Param,
 6972   bool CheckTemplateArgument(TemplateTypeParmDecl *Param,
tools/clang/include/clang/Sema/SemaInternal.h
   66   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(ND))
   66   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(ND))
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
tools/clang/lib/AST/ASTContext.cpp
  152   if (isa<TemplateTypeParmDecl>(D) ||
  647     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(*P)) {
  647     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(*P)) {
  694     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(*P))
  694     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(*P))
  696                   TemplateTypeParmDecl::Create(*this, getTranslationUnitDecl(),
 4122                                              TemplateTypeParmDecl *TTPDecl) const {
 4439   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
 4439   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
tools/clang/lib/AST/ASTDiagnostic.cpp
 1324       if (isa<TemplateTypeParmDecl>(FromParamND)) {
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  495     ExpectedDecl VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D);
 1375   Expected<TemplateTypeParmDecl *> ToDeclOrErr = import(T->getDecl());
 4943 ASTNodeImporter::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
 4958   TemplateTypeParmDecl *ToD = nullptr;
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1432                                      TemplateTypeParmDecl *D1,
 1433                                      TemplateTypeParmDecl *D2) {
 1820   } else if (auto *TTP1 = dyn_cast<TemplateTypeParmDecl>(D1)) {
 1820   } else if (auto *TTP1 = dyn_cast<TemplateTypeParmDecl>(D1)) {
 1821     if (auto *TTP2 = dyn_cast<TemplateTypeParmDecl>(D2)) {
 1821     if (auto *TTP2 = dyn_cast<TemplateTypeParmDecl>(D2)) {
tools/clang/lib/AST/Decl.cpp
  254     if (isa<TemplateTypeParmDecl>(P))
tools/clang/lib/AST/DeclBase.cpp
  202   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(this))
  202   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(this))
  923       isa<TemplateTypeParmDecl>(this) ||
tools/clang/lib/AST/DeclPrinter.cpp
 1046     if (auto TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
 1096           auto P = cast<TemplateTypeParmDecl>(Params->getParam(T->getIndex()));
tools/clang/lib/AST/DeclTemplate.cpp
  103     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(P)) {
  103     if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(P)) {
  123   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(FirstParm))
  123   if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(FirstParm))
  512 TemplateTypeParmDecl *
  517   auto *TTPDecl =
  518       new (C, DC) TemplateTypeParmDecl(DC, KeyLoc, NameLoc, Id, Typename);
  524 TemplateTypeParmDecl *
  526   return new (C, ID) TemplateTypeParmDecl(nullptr, SourceLocation(),
 1201   auto *T = TemplateTypeParmDecl::Create(
 1201   auto *T = TemplateTypeParmDecl::Create(
 1226   auto *TemplateTypeParm = TemplateTypeParmDecl::Create(
 1226   auto *TemplateTypeParm = TemplateTypeParmDecl::Create(
 1254   auto *Ts = TemplateTypeParmDecl::Create(
 1254   auto *Ts = TemplateTypeParmDecl::Create(
tools/clang/lib/AST/ItaniumMangle.cpp
 1693   if (auto *Ty = dyn_cast<TemplateTypeParmDecl>(Decl)) {
 4327     if (const TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Pack))
 4327     if (const TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Pack))
tools/clang/lib/AST/JSONNodeDumper.cpp
  825 void JSONNodeDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
tools/clang/lib/AST/MicrosoftMangle.cpp
 1517       if (isa<TemplateTypeParmDecl>(Parm) ||
tools/clang/lib/AST/ODRHash.cpp
  373   void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
  383     Inherited::VisitTemplateTypeParmDecl(D);
tools/clang/lib/AST/StmtProfile.cpp
  115         if (const TemplateTypeParmDecl *TTP =
  116                 dyn_cast<TemplateTypeParmDecl>(D)) {
tools/clang/lib/AST/TextNodeDumper.cpp
 1682 void TextNodeDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  588 const internal::VariadicDynCastAllOfMatcher<Decl, TemplateTypeParmDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Index/IndexDecl.cpp
  681         if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(TP)) {
  681         if (const auto *TTP = dyn_cast<TemplateTypeParmDecl>(TP)) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
   50     TemplateTypeParmDecl *TTPD = TTPL.getDecl();
tools/clang/lib/Index/IndexingContext.cpp
   84       (isa<NonTypeTemplateParmDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
tools/clang/lib/Index/USRGeneration.cpp
   97   void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D);
  589 void USRGenerator::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
  904     if (isa<TemplateTypeParmDecl>(*P)) {
  905       if (cast<TemplateTypeParmDecl>(*P)->isParameterPack())
tools/clang/lib/Sema/SemaCodeComplete.cpp
 2991     if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*P)) {
 2991     if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*P)) {
 3388         if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
 3388         if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
tools/clang/lib/Sema/SemaDeclCXX.cpp
 9689     if (!isa<TemplateTypeParmDecl>(Params->getParam(0)))
 9731       !isa<TemplateTypeParmDecl>(Params->getParam(0))) {
13991     TemplateTypeParmDecl *PmType =
13992         dyn_cast<TemplateTypeParmDecl>(TemplateParams->getParam(0));
tools/clang/lib/Sema/SemaLookup.cpp
 1585 hasVisibleDefaultArgument(Sema &S, const ParmDecl *D,
 1596       auto *NonConstD = const_cast<ParmDecl*>(D);
 1608   if (auto *P = dyn_cast<TemplateTypeParmDecl>(D))
tools/clang/lib/Sema/SemaOverload.cpp
10243   (ParamD = Param.dyn_cast<TemplateTypeParmDecl*>()) ||
10272     TemplateTypeParmDecl *TParam = cast<TemplateTypeParmDecl>(ParamD);
10272     TemplateTypeParmDecl *TParam = cast<TemplateTypeParmDecl>(ParamD);
10298     if (isa<TemplateTypeParmDecl>(ParamD))
10338       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(ParamD))
10338       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(ParamD))
tools/clang/lib/Sema/SemaTemplate.cpp
  990   TemplateTypeParmDecl *Param = TemplateTypeParmDecl::Create(
  990   TemplateTypeParmDecl *Param = TemplateTypeParmDecl::Create(
 1864     if (auto *TTP = dyn_cast<TemplateTypeParmDecl>(TemplateParam)) {
 1864     if (auto *TTP = dyn_cast<TemplateTypeParmDecl>(TemplateParam)) {
 1867       auto *NewTTP = TemplateTypeParmDecl::Create(
 1867       auto *NewTTP = TemplateTypeParmDecl::Create(
 2262     if (TemplateTypeParmDecl *NewTypeParm
 2263           = dyn_cast<TemplateTypeParmDecl>(*NewParam)) {
 2273       TemplateTypeParmDecl *OldTypeParm
 2274           = OldParams? cast<TemplateTypeParmDecl>(*OldParam) : nullptr;
 2433       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*NewParam))
 2433       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*NewParam))
 2471     if (TemplateTypeParmDecl *PD = dyn_cast<TemplateTypeParmDecl>(ND)) {
 2471     if (TemplateTypeParmDecl *PD = dyn_cast<TemplateTypeParmDecl>(ND)) {
 4482 bool Sema::CheckTemplateTypeArgument(TemplateTypeParmDecl *Param,
 4623                              TemplateTypeParmDecl *Param,
 4779   if (TemplateTypeParmDecl *TypeParm = dyn_cast<TemplateTypeParmDecl>(Param)) {
 4779   if (TemplateTypeParmDecl *TypeParm = dyn_cast<TemplateTypeParmDecl>(Param)) {
 4902   if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
 4902   if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
 5170                                     const TemplateParmDecl *D,
 5174   D = cast<TemplateParmDecl>(cast<TemplateDecl>(TD->getMostRecentDecl())
 5356     if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*Param)) {
 5356     if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*Param)) {
 5728 bool Sema::CheckTemplateArgument(TemplateTypeParmDecl *Param,
 7155       unsigned ParamKind = isa<TemplateTypeParmDecl>(New)? 0
 7732       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
 7732       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
10235     if (isa<TemplateTypeParmDecl>(Param))
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  635   if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(D))
  635   if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(D))
 1356       Info.Param = cast<TemplateTypeParmDecl>(TemplateParams->getParam(Index));
 1390       Info.Param = cast<TemplateTypeParmDecl>(TemplateParams->getParam(Index));
 1415       Info.Param = cast<TemplateTypeParmDecl>(TemplateParams->getParam(Index));
 4477   TemplateTypeParmDecl *TemplParam = TemplateTypeParmDecl::Create(
 4477   TemplateTypeParmDecl *TemplParam = TemplateTypeParmDecl::Create(
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 1094   if (TemplateTypeParmDecl *TTPD = dyn_cast_or_null<TemplateTypeParmDecl>(D)) {
 1094   if (TemplateTypeParmDecl *TTPD = dyn_cast_or_null<TemplateTypeParmDecl>(D)) {
 1579   TemplateTypeParmDecl *NewTTPDecl = nullptr;
 1580   if (TemplateTypeParmDecl *OldTTPDecl = T->getDecl())
 1581     NewTTPDecl = cast_or_null<TemplateTypeParmDecl>(
 3022   if (isa<NonTypeTemplateParmDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 2402                                                     TemplateTypeParmDecl *D) {
 2406   TemplateTypeParmDecl *Inst = TemplateTypeParmDecl::Create(
 2406   TemplateTypeParmDecl *Inst = TemplateTypeParmDecl::Create(
 5329       isa<TemplateTypeParmDecl>(D) || isa<TemplateTemplateParmDecl>(D) ||
 5353     if (isa<NonTypeTemplateParmDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  306           auto *TTPD = dyn_cast<TemplateTypeParmDecl>(LocalPack);
  306           auto *TTPD = dyn_cast<TemplateTypeParmDecl>(LocalPack);
tools/clang/lib/Sema/SemaType.cpp
 2992         TemplateTypeParmDecl *CorrespondingTemplateParam =
 2993             TemplateTypeParmDecl::Create(
tools/clang/lib/Sema/TreeTransform.h
12013       if (auto *TTPD = dyn_cast<TemplateTypeParmDecl>(Pack)) {
12013       if (auto *TTPD = dyn_cast<TemplateTypeParmDecl>(Pack)) {
tools/clang/lib/Serialization/ASTReader.cpp
 6769     TemplateTypeParmDecl *D
 6770       = ReadDeclAs<TemplateTypeParmDecl>(*Loc.F, Record, Idx);
10451             const auto *FirstParam = cast<TemplateTypeParmDecl>(FirstDecl);
10451             const auto *FirstParam = cast<TemplateTypeParmDecl>(FirstDecl);
10452             const auto *SecondParam = cast<TemplateTypeParmDecl>(SecondDecl);
10452             const auto *SecondParam = cast<TemplateTypeParmDecl>(SecondDecl);
11537           if (isa<TemplateTypeParmDecl>(FirstParam) &&
11538               isa<TemplateTypeParmDecl>(SecondParam)) {
11539             TemplateTypeParmDecl *FirstTTPD =
11540                 cast<TemplateTypeParmDecl>(FirstParam);
11541             TemplateTypeParmDecl *SecondTTPD =
11542                 cast<TemplateTypeParmDecl>(SecondParam);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  363     void VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D);
 2284 void ASTDeclReader::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
 2823   if (const auto *TX = dyn_cast<TemplateTypeParmDecl>(X)) {
 2823   if (const auto *TX = dyn_cast<TemplateTypeParmDecl>(X)) {
 2824     const auto *TY = cast<TemplateTypeParmDecl>(Y);
 2824     const auto *TY = cast<TemplateTypeParmDecl>(Y);
 3507 static bool inheritDefaultTemplateArgument(ASTContext &Context, ParmDecl *From,
 3509   auto *To = cast<ParmDecl>(ToD);
 3509   auto *To = cast<ParmDecl>(ToD);
 3527     if (auto *FTTP = dyn_cast<TemplateTypeParmDecl>(FromParam))
 3527     if (auto *FTTP = dyn_cast<TemplateTypeParmDecl>(FromParam))
 3754     D = TemplateTypeParmDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   84     void VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D);
 1607 void ASTDeclWriter::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  525       const auto *TPDecl = dyn_cast<TemplateTypeParmDecl>(TParams->getParam(I));
  525       const auto *TPDecl = dyn_cast<TemplateTypeParmDecl>(TParams->getParam(I));
tools/clang/tools/extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
   91   const auto *TypeParmDecl =
   92       Result.Nodes.getNodeAs<TemplateTypeParmDecl>("type-parm-decl");
tools/clang/tools/extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
   23                                    const TemplateTypeParmDecl *TypeParmDecl,
  101   const auto *TypeParmDecl =
  102       Result.Nodes.getNodeAs<TemplateTypeParmDecl>("type-parm-decl");
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  638   if (isa<TemplateTypeParmDecl>(D)) {
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   86   if (isa<TemplateTemplateParmDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
tools/clang/tools/extra/clangd/XRefs.cpp
   70   if (isa<ValueDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
  525     if (const auto TTP = dyn_cast<TemplateTypeParmDecl>(Param)) {
tools/clang/tools/extra/modularize/Modularize.cpp
  621         isa<ClassTemplateDecl>(ND) || isa<TemplateTypeParmDecl>(ND) ||
tools/clang/tools/libclang/CIndex.cpp
  754 bool CursorVisitor::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
 3139         if (isa<TemplateTypeParmDecl>(Pack)) {
 3140           if (Visit(MakeCursorTypeRef(cast<TemplateTypeParmDecl>(Pack),
 5026       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
 5026       if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param))
tools/clang/tools/libclang/CursorVisitor.h
  210   bool VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D);
tools/clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp
   22   bool VisitTemplateTypeParmDecl(TemplateTypeParmDecl *D) {
tools/lldb/source/Symbol/ClangASTContext.cpp
 1452       template_param_decls.push_back(TemplateTypeParmDecl::Create(
 1473       template_param_decls.push_back(TemplateTypeParmDecl::Create(
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_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
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>