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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  229 TEMPLATETEMPLATEPARM(TemplateTemplateParm, TemplateDecl)
tools/clang/include/clang/AST/ASTContext.h
  121 class TemplateTemplateParmDecl;
tools/clang/include/clang/AST/DeclTemplate.h
   52 class TemplateTemplateParmDecl;
tools/clang/include/clang/AST/TemplateName.h
   42 class TemplateTemplateParmDecl;
tools/clang/include/clang/Sema/Sema.h
  183   class TemplateTemplateParmDecl;
tools/lldb/include/lldb/Core/ClangForward.h
  112 class TemplateTemplateParmDecl;

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 };
include/llvm/Support/TrailingObjects.h
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  162   getTrailingObjectsImpl(const BaseTy *Obj,
  177   getTrailingObjectsImpl(BaseTy *Obj,
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  257   static const BaseTy *
  258   getTrailingObjectsImpl(const BaseTy *Obj,
  259                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  263   static BaseTy *
  264   getTrailingObjectsImpl(BaseTy *Obj,
  265                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  277   callNumTrailingObjects(const BaseTy *Obj,
  278                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  283   static size_t callNumTrailingObjects(const BaseTy *Obj,
  284                                        TrailingObjectsBase::OverloadToken<T>) {
tools/clang/include/clang/AST/ASTContext.h
  293     TemplateTemplateParmDecl *Parm;
  296     CanonicalTemplateTemplateParm(TemplateTemplateParmDecl *Parm)
  299     TemplateTemplateParmDecl *getParam() const { return Parm; }
  304                         TemplateTemplateParmDecl *Parm);
  309   TemplateTemplateParmDecl *
  310     getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP) const;
 2007   TemplateName getSubstTemplateTemplateParm(TemplateTemplateParmDecl *param,
 2009   TemplateName getSubstTemplateTemplateParmPack(TemplateTemplateParmDecl *Param,
tools/clang/include/clang/AST/ASTNodeTraverser.h
  527   void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D) {
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
   61                         TemplateTemplateParmDecl *>;
  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) {
 1441       private llvm::TrailingObjects<TemplateTemplateParmDecl,
 1445       DefaultArgStorage<TemplateTemplateParmDecl, TemplateArgumentLoc *>;
 1477   static TemplateTemplateParmDecl *Create(const ASTContext &C, DeclContext *DC,
 1482   static TemplateTemplateParmDecl *Create(const ASTContext &C, DeclContext *DC,
 1489   static TemplateTemplateParmDecl *CreateDeserialized(ASTContext &C,
 1491   static TemplateTemplateParmDecl *CreateDeserialized(ASTContext &C,
 1579                                    TemplateTemplateParmDecl *Prev) {
 3084   return P.get<TemplateTemplateParmDecl *>();
 3092                 isa<TemplateTemplateParmDecl>(TD))
tools/clang/include/clang/AST/JSONNodeDumper.h
  240   void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1769   TRY_TO(TraverseDecl(D->getTemplatedDecl()));
 1770   if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited()) {
 1770   if (D->hasDefaultArgument() && !D->defaultArgumentWasInherited()) {
 1771     TRY_TO(TraverseTemplateArgumentLoc(D->getDefaultArgument()));
 1773   TRY_TO(TraverseTemplateParameterListHelper(D->getTemplateParameters()));
tools/clang/include/clang/AST/TemplateName.h
  133   TemplateTemplateParmDecl *Parameter;
  137   SubstTemplateTemplateParmPackStorage(TemplateTemplateParmDecl *Parameter,
  144   TemplateTemplateParmDecl *getParameterPack() const {
  156                       TemplateTemplateParmDecl *Parameter,
  349   TemplateTemplateParmDecl *Parameter;
  352   SubstTemplateTemplateParmStorage(TemplateTemplateParmDecl *parameter,
  358   TemplateTemplateParmDecl *getParameter() const { return Parameter; }
  364                       TemplateTemplateParmDecl *parameter,
tools/clang/include/clang/AST/TextNodeDumper.h
  327   void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D);
tools/clang/include/clang/Sema/Sema.h
 8003                           TemplateTemplateParmDecl *Param,
tools/clang/include/clang/Sema/SemaInternal.h
   72   const auto *TTP = cast<TemplateTemplateParmDecl>(ND);
   72   const auto *TTP = cast<TemplateTemplateParmDecl>(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
  154       isa<TemplateTemplateParmDecl>(D))
  637                                                TemplateTemplateParmDecl *Parm) {
  669     auto *TTP = cast<TemplateTemplateParmDecl>(*P);
  669     auto *TTP = cast<TemplateTemplateParmDecl>(*P);
  675 TemplateTemplateParmDecl *
  677                                           TemplateTemplateParmDecl *TTP) const {
  738                                            cast<TemplateTemplateParmDecl>(*P)));
  745   TemplateTemplateParmDecl *CanonTTP
  746     = TemplateTemplateParmDecl::Create(*this, getTranslationUnitDecl(),
 4456     auto *TTP = cast<TemplateTemplateParmDecl>(Param);
 4456     auto *TTP = cast<TemplateTemplateParmDecl>(Param);
 5393     if (auto *TTP  = dyn_cast<TemplateTemplateParmDecl>(Template))
 5393     if (auto *TTP  = dyn_cast<TemplateTemplateParmDecl>(Template))
 5419     TemplateTemplateParmDecl *canonParameter
 7836 ASTContext::getSubstTemplateTemplateParm(TemplateTemplateParmDecl *param,
 7854 ASTContext::getSubstTemplateTemplateParmPack(TemplateTemplateParmDecl *Param,
tools/clang/lib/AST/ASTDiagnostic.cpp
 1326       } else if (isa<TemplateTemplateParmDecl>(FromParamND)) {
tools/clang/lib/AST/ASTImporter.cpp
  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));
  497     ExpectedDecl VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D);
 4996 ASTNodeImporter::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
 5014   TemplateTemplateParmDecl *ToD = nullptr;
 8363         cast<TemplateTemplateParmDecl>(*ParamOrErr), *ReplacementOrErr);
 8380         cast<TemplateTemplateParmDecl>(*ParamOrErr), *ArgPackOrErr);
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1481                                      TemplateTemplateParmDecl *D1,
 1482                                      TemplateTemplateParmDecl *D2) {
 1836   } else if (auto *TTP1 = dyn_cast<TemplateTemplateParmDecl>(D1)) {
 1836   } else if (auto *TTP1 = dyn_cast<TemplateTemplateParmDecl>(D1)) {
 1837     if (auto *TTP2 = dyn_cast<TemplateTemplateParmDecl>(D2)) {
 1837     if (auto *TTP2 = dyn_cast<TemplateTemplateParmDecl>(D2)) {
tools/clang/lib/AST/Comment.cpp
  385     if (const TemplateTemplateParmDecl *TTP =
  386           dyn_cast<TemplateTemplateParmDecl>(Param))
tools/clang/lib/AST/CommentSema.cpp
 1069     if (const TemplateTemplateParmDecl *TTP =
 1070             dyn_cast<TemplateTemplateParmDecl>(Param)) {
 1101     if (const TemplateTemplateParmDecl *TTP =
 1102             dyn_cast<TemplateTemplateParmDecl>(Param))
tools/clang/lib/AST/Decl.cpp
  281     const auto *TTP = cast<TemplateTemplateParmDecl>(P);
  281     const auto *TTP = cast<TemplateTemplateParmDecl>(P);
tools/clang/lib/AST/DeclBase.cpp
  206   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(this))
  206   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(this))
tools/clang/lib/AST/DeclPrinter.cpp
 1075     } else if (auto TTPD = dyn_cast<TemplateTemplateParmDecl>(Param)) {
 1102           if (auto TD = dyn_cast<TemplateTemplateParmDecl>(T)) {
 1103             auto P = cast<TemplateTemplateParmDecl>(
 1127   if (const TemplateTemplateParmDecl *TTP =
 1128         dyn_cast<TemplateTemplateParmDecl>(D)) {
tools/clang/lib/AST/DeclTemplate.cpp
   63       if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
   63       if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
  109     } else if (cast<TemplateTemplateParmDecl>(P)->hasDefaultArgument())
  128     return cast<TemplateTemplateParmDecl>(FirstParm)->getDepth();
  136     if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
  136     if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
  654 TemplateTemplateParmDecl *
  659   return new (C, DC) TemplateTemplateParmDecl(DC, L, D, P, ParameterPack, Id,
  663 TemplateTemplateParmDecl *
  671       TemplateTemplateParmDecl(DC, L, D, P, Id, Params, Expansions);
  674 TemplateTemplateParmDecl *
  676   return new (C, ID) TemplateTemplateParmDecl(nullptr, SourceLocation(), 0, 0,
  680 TemplateTemplateParmDecl *
  683   auto *TTP =
  685           TemplateTemplateParmDecl(nullptr, SourceLocation(), 0, 0, nullptr,
 1220   auto *TemplateTemplateParm = TemplateTemplateParmDecl::Create(
 1220   auto *TemplateTemplateParm = TemplateTemplateParmDecl::Create(
tools/clang/lib/AST/ItaniumMangle.cpp
  968   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
  968   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
 1713   } else if (auto *Tt = dyn_cast<TemplateTemplateParmDecl>(Decl)) {
 1889   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
 1889   if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
 1923     if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(TD))
 1923     if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(TD))
 2062       if (isa<TemplateTemplateParmDecl>(TD))
 4332     else if (const TemplateTemplateParmDecl *TempTP
 4333                                     = dyn_cast<TemplateTemplateParmDecl>(Pack))
tools/clang/lib/AST/JSONNodeDumper.cpp
  857     const TemplateTemplateParmDecl *D) {
tools/clang/lib/AST/MicrosoftMangle.cpp
 1518           isa<TemplateTemplateParmDecl>(Parm))
tools/clang/lib/AST/ODRHash.cpp
  399   void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D) {
  409     Inherited::VisitTemplateTemplateParmDecl(D);
tools/clang/lib/AST/StmtProfile.cpp
  123         if (const TemplateTemplateParmDecl *TTP =
  124                 dyn_cast<TemplateTemplateParmDecl>(D)) {
tools/clang/lib/AST/TemplateBase.cpp
  307     if (TemplateTemplateParmDecl *TTP
  308           = dyn_cast_or_null<TemplateTemplateParmDecl>(
tools/clang/lib/AST/TemplateName.cpp
   43                                            TemplateTemplateParmDecl *parameter,
   56                                            TemplateTemplateParmDecl *Parameter,
  173     if (isa<TemplateTemplateParmDecl>(Template))
  205     if (TemplateTemplateParmDecl *TTP
  206                                   = dyn_cast<TemplateTemplateParmDecl>(Template))
tools/clang/lib/AST/TextNodeDumper.cpp
 1703     const TemplateTemplateParmDecl *D) {
tools/clang/lib/Frontend/ASTUnit.cpp
  298       isa<ClassTemplateDecl>(ND) || isa<TemplateTemplateParmDecl>(ND) ||
tools/clang/lib/Index/IndexDecl.cpp
  687         } else if (const auto *TTPD = dyn_cast<TemplateTemplateParmDecl>(TP)) {
  687         } else if (const auto *TTPD = dyn_cast<TemplateTemplateParmDecl>(TP)) {
tools/clang/lib/Index/IndexingContext.cpp
   85        isa<TemplateTemplateParmDecl>(D))) {
tools/clang/lib/Index/USRGeneration.cpp
  101   void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D);
  355                                         const TemplateTemplateParmDecl *D) {
  919     TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(*P);
  919     TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(*P);
  929     if (TemplateTemplateParmDecl *TTP
  930                               = dyn_cast<TemplateTemplateParmDecl>(Template)) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
 3011       TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(*P);
 3011       TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(*P);
 3396               cast<TemplateTemplateParmDecl>(Param)->hasDefaultArgument();
tools/clang/lib/Sema/SemaDecl.cpp
 1243   if (isa<TemplateTemplateParmDecl>(TD))
14485   else if (isa<TemplateTemplateParmDecl>(PrevDecl))
tools/clang/lib/Sema/SemaLookup.cpp
 1585 hasVisibleDefaultArgument(Sema &S, const ParmDecl *D,
 1596       auto *NonConstD = const_cast<ParmDecl*>(D);
 1612   return ::hasVisibleDefaultArgument(*this, cast<TemplateTemplateParmDecl>(D),
tools/clang/lib/Sema/SemaOverload.cpp
10245   (ParamD = Param.dyn_cast<TemplateTemplateParmDecl*>());
10344         index = cast<TemplateTemplateParmDecl>(ParamD)->getIndex();
tools/clang/lib/Sema/SemaTemplate.cpp
 1263   TemplateTemplateParmDecl *Param =
 1264     TemplateTemplateParmDecl::Create(Context, Context.getTranslationUnitDecl(),
 1884     if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(TemplateParam))
 1884     if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(TemplateParam))
 1891   TemplateParmDecl *
 1892   transformTemplateParameterImpl(TemplateParmDecl *OldParam,
 1896     auto *NewParam =
 1897         cast_or_null<TemplateParmDecl>(SemaRef.SubstDecl(OldParam, DC, Args));
 2171                                              TemplateTemplateParmDecl *TTP) {
 2190     if (TemplateTemplateParmDecl *InnerTTP
 2191                                         = dyn_cast<TemplateTemplateParmDecl>(P))
 2343       TemplateTemplateParmDecl *NewTemplateParm
 2344         = cast<TemplateTemplateParmDecl>(*NewParam);
 2360       TemplateTemplateParmDecl *OldTemplateParm
 2361         = OldParams? cast<TemplateTemplateParmDecl>(*OldParam) : nullptr;
 2439         cast<TemplateTemplateParmDecl>(*NewParam)->removeDefaultArgument();
 2477       Depth = cast<TemplateTemplateParmDecl>(ND)->getDepth();
 2518     if (TemplateTemplateParmDecl *PD =
 2519           dyn_cast_or_null<TemplateTemplateParmDecl>(N.getAsTemplateDecl()))
 3676     const TemplateTemplateParmDecl *TTP =
 3677         dyn_cast_or_null<TemplateTemplateParmDecl>(
 4732                              TemplateTemplateParmDecl *Param,
 4813   TemplateTemplateParmDecl *TempTempParm
 4814     = cast<TemplateTemplateParmDecl>(Param);
 4915         !isa<TemplateTemplateParmDecl>(Template) &&
 5067   TemplateTemplateParmDecl *TempParm = cast<TemplateTemplateParmDecl>(Param);
 5067   TemplateTemplateParmDecl *TempParm = cast<TemplateTemplateParmDecl>(Param);
 5157   if (TemplateTemplateParmDecl *TTP
 5158         = dyn_cast<TemplateTemplateParmDecl>(Param)) {
 5170                                     const TemplateParmDecl *D,
 5174   D = cast<TemplateParmDecl>(cast<TemplateDecl>(TD->getMostRecentDecl())
 5229   bool isTemplateTemplateParameter = isa<TemplateTemplateParmDecl>(Template);
 5389       TemplateTemplateParmDecl *TempParm
 5390         = cast<TemplateTemplateParmDecl>(*Param);
 6899       !isa<TemplateTemplateParmDecl>(Template) &&
 7206   if (TemplateTemplateParmDecl *OldTTP
 7207                                     = dyn_cast<TemplateTemplateParmDecl>(Old)) {
 7208     TemplateTemplateParmDecl *NewTTP = cast<TemplateTemplateParmDecl>(New);
 7208     TemplateTemplateParmDecl *NewTTP = cast<TemplateTemplateParmDecl>(New);
 7698           isa<TemplateTemplateParmDecl>(Name.getAsTemplateDecl()));
 7747         TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(Param);
 7747         TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(Param);
10239     if (TemplateTemplateParmDecl *TTP
10240         = dyn_cast<TemplateTemplateParmDecl>(Param)) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  492   if (TemplateTemplateParmDecl *TempParam
  493         = dyn_cast<TemplateTemplateParmDecl>(ParamDecl)) {
  640   return TemplateParameter(cast<TemplateTemplateParmDecl>(D));
  649   if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(Param))
  649   if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(Param))
 2575       } else if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(Param)) {
 2575       } else if (auto *TTP = dyn_cast<TemplateTemplateParmDecl>(Param)) {
 5327     if (TemplateTemplateParmDecl *TTP
 5328           = dyn_cast<TemplateTemplateParmDecl>(Template)) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  107       if (TemplateTemplateParmDecl *TTP
  108                                       = dyn_cast<TemplateTemplateParmDecl>(D)) {
  347     TemplateTemplateParmDecl *Param, ArrayRef<TemplateArgument> TemplateArgs,
  628         << isa<TemplateTemplateParmDecl>(Parm)
 1049   if (TemplateTemplateParmDecl *TTP = dyn_cast<TemplateTemplateParmDecl>(D)) {
 1049   if (TemplateTemplateParmDecl *TTP = dyn_cast<TemplateTemplateParmDecl>(D)) {
 1187   if (TemplateTemplateParmDecl *TTP
 1188        = dyn_cast_or_null<TemplateTemplateParmDecl>(Name.getAsTemplateDecl())) {
 3023       isa<TemplateTemplateParmDecl>(D))
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 2586     if (TemplateTemplateParmDecl *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
 2586     if (TemplateTemplateParmDecl *TTP = dyn_cast<TemplateTemplateParmDecl>(P))
 2594                                                   TemplateTemplateParmDecl *D) {
 2675   TemplateTemplateParmDecl *Param;
 2677     Param = TemplateTemplateParmDecl::Create(
 2682     Param = TemplateTemplateParmDecl::Create(
 5329       isa<TemplateTypeParmDecl>(D) || isa<TemplateTemplateParmDecl>(D) ||
 5354         isa<TemplateTemplateParmDecl>(D))
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  102       if (auto *TTP = dyn_cast_or_null<TemplateTemplateParmDecl>(
  102       if (auto *TTP = dyn_cast_or_null<TemplateTemplateParmDecl>(
tools/clang/lib/Sema/TreeTransform.h
 1212   TemplateName RebuildTemplateName(TemplateTemplateParmDecl *Param,
 3914     TemplateTemplateParmDecl *TransParam
 3915     = cast_or_null<TemplateTemplateParmDecl>(
12016       } else if (auto *TTPD = dyn_cast<TemplateTemplateParmDecl>(Pack)) {
12016       } else if (auto *TTPD = dyn_cast<TemplateTemplateParmDecl>(Pack)) {
tools/clang/lib/Serialization/ASTReader.cpp
 9257     TemplateTemplateParmDecl *param
 9258       = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx);
 9265     TemplateTemplateParmDecl *Param
 9266       = ReadDeclAs<TemplateTemplateParmDecl>(F, Record, Idx);
10515             const auto *FirstParam = cast<TemplateTemplateParmDecl>(FirstDecl);
10515             const auto *FirstParam = cast<TemplateTemplateParmDecl>(FirstDecl);
10516             const auto *SecondParam =
10517                 cast<TemplateTemplateParmDecl>(SecondDecl);
11595           if (isa<TemplateTemplateParmDecl>(FirstParam) &&
11596               isa<TemplateTemplateParmDecl>(SecondParam)) {
11597             TemplateTemplateParmDecl *FirstTTPD =
11598                 cast<TemplateTemplateParmDecl>(FirstParam);
11599             TemplateTemplateParmDecl *SecondTTPD =
11600                 cast<TemplateTemplateParmDecl>(SecondParam);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  391     void VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D);
 2314 void ASTDeclReader::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
 2834   const auto *TX = cast<TemplateTemplateParmDecl>(X);
 2834   const auto *TX = cast<TemplateTemplateParmDecl>(X);
 2835   const auto *TY = cast<TemplateTemplateParmDecl>(Y);
 2835   const auto *TY = cast<TemplateTemplateParmDecl>(Y);
 3507 static bool inheritDefaultTemplateArgument(ASTContext &Context, ParmDecl *From,
 3509   auto *To = cast<ParmDecl>(ToD);
 3509   auto *To = cast<ParmDecl>(ToD);
 3533               Context, cast<TemplateTemplateParmDecl>(FromParam), ToParam);
 3764     D = TemplateTemplateParmDecl::CreateDeserialized(Context, ID);
 3767     D = TemplateTemplateParmDecl::CreateDeserialized(Context, ID,
tools/clang/lib/Serialization/ASTWriter.cpp
 5734   if (isa<ParmVarDecl>(D) || isa<TemplateTemplateParmDecl>(D))
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  110     void VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D);
 1653 void ASTDeclWriter::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  658   if (isa<TemplateTemplateParmDecl>(D)) {
tools/clang/tools/extra/clangd/FindTarget.cpp
  273         else if (const auto *Parm =
  274                      llvm::dyn_cast_or_null<TemplateTemplateParmDecl>(
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   86   if (isa<TemplateTemplateParmDecl>(D) || isa<TemplateTypeParmDecl>(D) ||
tools/clang/tools/extra/clangd/XRefs.cpp
   71       isa<TemplateTemplateParmDecl>(D)) // except cases above
  548     } else if (const auto TTPD = dyn_cast<TemplateTemplateParmDecl>(Param)) {
tools/clang/tools/libclang/CIndex.cpp
  947 bool CursorVisitor::VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
 3147         if (isa<TemplateTemplateParmDecl>(Pack)) {
 3148           if (Visit(MakeCursorTemplateRef(cast<TemplateTemplateParmDecl>(Pack),
tools/clang/tools/libclang/CursorVisitor.h
  219   bool VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D);
tools/clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp
   34   bool VisitTemplateTemplateParmDecl(TemplateTemplateParmDecl *D) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  298   clang::TemplateTemplateParmDecl *
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
 1843         auto *tplt_type = m_ast.CreateTemplateTemplateParmDecl(template_name);
tools/lldb/source/Symbol/ClangASTContext.cpp
 1585 TemplateTemplateParmDecl *
 1602   return TemplateTemplateParmDecl::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>