|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/AST/DeclTemplate.h 736 class RedeclarableTemplateDecl : public TemplateDecl,
1438 class TemplateTemplateParmDecl final
1601 class BuiltinTemplateDecl : public TemplateDecl {
3046 class ConceptDecl : public TemplateDecl, public Mergeable<ConceptDecl> {
Declarations
gen/tools/clang/include/clang/AST/DeclNodes.inc 181 ABSTRACT_DECL(TEMPLATE(Template, NamedDecl))
tools/clang/include/clang/AST/ASTContext.h 119 class TemplateDecl;
tools/clang/include/clang/AST/DeclBase.h 68 class TemplateDecl;
tools/clang/include/clang/AST/DeclCXX.h 73 class TemplateDecl;
tools/clang/include/clang/AST/DeclTemplate.h 51 class TemplateDecl;
tools/clang/include/clang/AST/DeclarationName.h 39 class TemplateDecl;
tools/clang/include/clang/AST/TemplateName.h 41 class TemplateDecl;
tools/clang/include/clang/Sema/Sema.h 179 class TemplateDecl;
tools/clang/tools/libclang/CXCursor.h 40 class TemplateDecl;
tools/lldb/include/lldb/Core/ClangForward.h 110 class TemplateDecl;
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);
66 static inline bool doit(const From &) { return true; }
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
305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
306 cast_or_null(Y *Val) {
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
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
367 dyn_cast_or_null(Y *Val) {
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 2001 TemplateDecl *Template) const;
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);
259 const T &getUnchecked() const {
260 return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
394 static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
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 1026 TemplateDecl *getDescribedTemplate() const;
tools/clang/include/clang/AST/DeclCXX.h 1884 TemplateDecl *getDeducedTemplate() const {
tools/clang/include/clang/AST/DeclTemplate.h 736 class RedeclarableTemplateDecl : public TemplateDecl,
1439 : public TemplateDecl,
1601 class BuiltinTemplateDecl : public TemplateDecl {
3046 class ConceptDecl : public TemplateDecl, public Mergeable<ConceptDecl> {
3087 inline TemplateDecl *getAsTypeTemplateDecl(Decl *D) {
3088 auto *TD = dyn_cast<TemplateDecl>(D);
3088 auto *TD = dyn_cast<TemplateDecl>(D);
tools/clang/include/clang/AST/DeclarationName.h 82 TemplateDecl *Template;
89 CXXDeductionGuideNameExtra(TemplateDecl *TD)
451 TemplateDecl *getCXXDeductionGuideTemplate() const {
624 DeclarationName getCXXDeductionGuideName(TemplateDecl *TD);
tools/clang/include/clang/AST/TemplateName.h 189 llvm::PointerUnion4<TemplateDecl *, UncommonTemplateNameStorage *,
228 explicit TemplateName(TemplateDecl *Template);
249 TemplateDecl *getAsTemplateDecl() const;
400 TemplateDecl *Template;
403 TemplateDecl *Template)
416 TemplateDecl *getDecl() const { return Template; }
420 TemplateDecl *getTemplateDecl() const { return Template; }
427 bool TemplateKeyword, TemplateDecl *Template) {
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 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>()),
499 explicit Matcher(MatcherInterface<T> *Implementation)
506 Matcher(const Matcher<From> &Other,
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 &&
534 bool matches(const T &Node,
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
tools/clang/include/clang/Sema/Lookup.h 507 DeclClass *getAsSingle() const {
509 return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/Sema.h 6698 TemplateDecl *AdjustDeclIfTemplate(Decl *&Decl);
6853 TemplateDecl *PrimaryTemplate,
6903 SubstDefaultTemplateArgumentIfAvailable(TemplateDecl *Template,
6961 bool CheckTemplateArgumentList(TemplateDecl *Template,
7611 void DeclareImplicitDeductionGuides(TemplateDecl *Template,
7661 TemplateParameterList *P, TemplateDecl *AArg, SourceLocation Loc);
7945 TemplateParameter Param, TemplateDecl *Template,
7961 TemplateDecl *Template,
8010 TemplateDecl *Template,
8020 ConstraintsCheck, TemplateDecl *Template,
8029 ConstraintSubstitution, TemplateDecl *Template,
tools/clang/include/clang/Sema/TypoCorrection.h 156 DeclClass *getCorrectionDeclAs() const {
157 return dyn_cast_or_null<DeclClass>(getCorrectionDecl());
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 5392 TemplateDecl *Template = Name.getAsTemplateDecl();
5397 return TemplateName(cast<TemplateDecl>(Template->getCanonicalDecl()));
7743 TemplateDecl *Template) const {
tools/clang/lib/AST/ASTDiagnostic.cpp 548 TemplateDecl *TD = nullptr;
598 void SetTemplateDiff(TemplateDecl *FromTD, TemplateDecl *ToTD,
598 void SetTemplateDiff(TemplateDecl *FromTD, TemplateDecl *ToTD,
628 void SetTemplateTemplateDiff(TemplateDecl *FromTD, TemplateDecl *ToTD,
628 void SetTemplateTemplateDiff(TemplateDecl *FromTD, TemplateDecl *ToTD,
766 void GetTemplateDiff(TemplateDecl *&FromTD, TemplateDecl *&ToTD,
766 void GetTemplateDiff(TemplateDecl *&FromTD, TemplateDecl *&ToTD,
787 void GetTemplateTemplateDiff(TemplateDecl *&FromTD, TemplateDecl *&ToTD) {
787 void GetTemplateTemplateDiff(TemplateDecl *&FromTD, TemplateDecl *&ToTD) {
1151 TemplateDecl *FromDecl = GetTemplateDecl(FromIter);
1152 TemplateDecl *ToDecl = GetTemplateDecl(ToIter);
1416 static TemplateDecl *GetTemplateDecl(const TSTiterator &Iter) {
1472 TemplateDecl *FromTD, *ToTD;
1541 TemplateDecl *FromTD, *ToTD;
1701 void PrintTemplateTemplate(TemplateDecl *FromTD, TemplateDecl *ToTD,
1701 void PrintTemplateTemplate(TemplateDecl *FromTD, TemplateDecl *ToTD,
tools/clang/lib/AST/ASTImporter.cpp 5031 auto *TemplateWithDef = ToTemplatedDef->getDescribedTemplate();
8297 return TemplateName(cast<TemplateDecl>(*ToTemplateOrErr));
8331 cast<TemplateDecl>(*ToTemplateOrErr));
8660 cast<TemplateDecl>(*ToTemplateOrErr));
tools/clang/lib/AST/ASTStructuralEquivalence.cpp 238 TemplateDecl *TemplateDeclN1 = N1.getAsTemplateDecl();
239 TemplateDecl *TemplateDeclN2 = N2.getAsTemplateDecl();
1501 StructuralEquivalenceContext &Ctx, TemplateDecl *D1, TemplateDecl *D2) {
1501 StructuralEquivalenceContext &Ctx, TemplateDecl *D1, TemplateDecl *D2) {
1735 TemplateDecl *Template1 = D1->getDescribedTemplate();
1736 TemplateDecl *Template2 = D2->getDescribedTemplate();
tools/clang/lib/AST/Decl.cpp 346 if (TemplateDecl *Template =
614 if (auto *TD = dyn_cast<TemplateDecl>(D))
869 } else if (const auto *temp = dyn_cast<TemplateDecl>(D)) {
869 } else if (const auto *temp = dyn_cast<TemplateDecl>(D)) {
926 isa<TemplateDecl>(D)))
1025 } else if (const auto *temp = dyn_cast<TemplateDecl>(D)) {
1025 } else if (const auto *temp = dyn_cast<TemplateDecl>(D)) {
1170 if (const auto *TD = dyn_cast<TemplateDecl>(ND))
1170 if (const auto *TD = dyn_cast<TemplateDecl>(ND))
tools/clang/lib/AST/DeclBase.cpp 227 return isa<TemplateDecl>(this);
230 TemplateDecl *Decl::getDescribedTemplate() const {
tools/clang/lib/AST/DeclPrinter.cpp 82 void VisitTemplateDecl(const TemplateDecl *D);
1124 void DeclPrinter::VisitTemplateDecl(const TemplateDecl *D) {
tools/clang/lib/AST/DeclarationName.cpp 215 auto *TD = getCXXDeductionGuideTemplate();
282 DeclarationNameTable::getCXXDeductionGuideName(TemplateDecl *Template) {
283 Template = cast<TemplateDecl>(Template->getCanonicalDecl());
tools/clang/lib/AST/ExternalASTMerger.cpp 468 if (!isa<TemplateDecl>(D))
tools/clang/lib/AST/ItaniumMangle.cpp 467 void mangleTemplateName(const TemplateDecl *TD,
480 void mangleUnscopedTemplateName(const TemplateDecl *ND,
497 void mangleNestedName(const TemplateDecl *TD,
503 void mangleTemplatePrefix(const TemplateDecl *ND, bool NoFunction=false);
789 static const TemplateDecl *
793 if (const TemplateDecl *TD = FD->getPrimaryTemplate()) {
888 if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
936 void CXXNameMangler::mangleTemplateName(const TemplateDecl *TD,
961 const TemplateDecl *ND, const AbiTagList *AdditionalAbiTags) {
985 if (TemplateDecl *TD = Template.getAsTemplateDecl())
1522 if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
1533 void CXXNameMangler::mangleNestedName(const TemplateDecl *TD,
1842 if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
1857 if (TemplateDecl *TD = Template.getAsTemplateDecl())
1877 void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND,
1911 TemplateDecl *TD = nullptr;
2057 TemplateDecl *TD = TN.getAsTemplateDecl();
3299 if (TemplateDecl *TD = T->getTemplateName().getAsTemplateDecl()) {
4695 if (TemplateDecl *TD = Template.getAsTemplateDecl())
4860 if (TemplateDecl *TD = Template.getAsTemplateDecl())
tools/clang/lib/AST/MicrosoftMangle.cpp 350 void mangleUnscopedTemplateName(const TemplateDecl *ND);
352 mangleTemplateInstantiationName(const TemplateDecl *TD,
382 void mangleTemplateArgs(const TemplateDecl *TD,
384 void mangleTemplateArg(const TemplateDecl *TD, const TemplateArgument &TA,
759 static const TemplateDecl *
763 if (const TemplateDecl *TD = FD->getPrimaryTemplate()) {
795 if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
1316 const TemplateDecl *TD, const TemplateArgumentList &TemplateArgs) {
1342 MicrosoftCXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *TD) {
1417 const TemplateDecl *TD, const TemplateArgumentList &TemplateArgs) {
1435 void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD,
tools/clang/lib/AST/ODRHash.cpp 100 auto *Template = Name.getCXXDeductionGuideTemplate();
412 void VisitTemplateDecl(const TemplateDecl *D) {
415 Inherited::VisitTemplateDecl(D);
tools/clang/lib/AST/QualTypeNames.cpp 62 TemplateDecl *ArgTDecl = TName.getAsTemplateDecl();
tools/clang/lib/AST/TemplateName.cpp 66 TemplateName::TemplateName(TemplateDecl *Template) : Storage(Template) {}
81 if (Storage.is<TemplateDecl *>())
99 TemplateDecl *TemplateName::getAsTemplateDecl() const {
100 if (TemplateDecl *Template = Storage.dyn_cast<TemplateDecl *>())
100 if (TemplateDecl *Template = Storage.dyn_cast<TemplateDecl *>())
155 TemplateDecl *Decl = getAsTemplateDecl();
163 Decl = cast<TemplateDecl>(Decl->getMostRecentDecl());
165 Decl = cast<TemplateDecl>(Decl->getPreviousDecl());
172 if (TemplateDecl *Template = getAsTemplateDecl()) {
204 if (TemplateDecl *Template = getAsTemplateDecl()) {
222 if (TemplateDecl *Template = Storage.dyn_cast<TemplateDecl *>())
222 if (TemplateDecl *Template = Storage.dyn_cast<TemplateDecl *>())
tools/clang/lib/AST/Type.cpp 3869 if (TemplateDecl *templateDecl
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/Index/IndexDecl.cpp 69 if (const TemplateDecl *TD = TALoc.getArgument()
668 bool VisitTemplateDecl(const TemplateDecl *D) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp 147 } else if (const TemplateDecl *D = TemplName.getAsTemplateDecl()) {
tools/clang/lib/Index/IndexingContext.cpp 294 if (auto TD = dyn_cast<TemplateDecl>(D)) {
tools/clang/lib/Index/USRGeneration.cpp 928 if (TemplateDecl *Template = Name.getAsTemplateDecl()) {
tools/clang/lib/Sema/SemaAccess.cpp 1478 } else if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D)) {
1478 } else if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D)) {
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp 941 TemplateDecl *TD = Template.getAsTemplateDecl();
tools/clang/lib/Sema/SemaCodeComplete.cpp 2975 const TemplateDecl *Template, CodeCompletionBuilder &Result,
2981 Template = cast<TemplateDecl>(Template->getCanonicalDecl());
3422 if (const auto *Template = dyn_cast<TemplateDecl>(ND)) {
3422 if (const auto *Template = dyn_cast<TemplateDecl>(ND)) {
tools/clang/lib/Sema/SemaDecl.cpp 195 auto *TD = TST->getTemplateName().getAsTemplateDecl();
489 if (auto *TD = getAsTypeTemplateDecl(IIDecl))
777 if (CheckTemplate && isa<TemplateDecl>(*I))
955 UnderlyingFirstDecl && isa<TemplateDecl>(UnderlyingFirstDecl)) {
1089 auto *TD = cast<TemplateDecl>(getAsTemplateNameDecl(
1089 auto *TD = cast<TemplateDecl>(getAsTemplateNameDecl(
1154 if (isa<TemplateDecl>(FirstDecl) && !isa<FunctionTemplateDecl>(FirstDecl) &&
1157 TemplateName(cast<TemplateDecl>(FirstDecl)));
1232 auto *TD = Name.getAsTemplateDecl();
5161 auto *Template = TN.getAsTemplateDecl();
6230 if (TemplateDecl *OldTD = dyn_cast<TemplateDecl>(OldDecl)) {
6230 if (TemplateDecl *OldTD = dyn_cast<TemplateDecl>(OldDecl)) {
6236 if (TemplateDecl *NewTD = dyn_cast<TemplateDecl>(NewDecl)) {
6236 if (TemplateDecl *NewTD = dyn_cast<TemplateDecl>(NewDecl)) {
14082 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
14082 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
tools/clang/lib/Sema/SemaDeclCXX.cpp 3394 auto *TD = DG->getDeducedTemplate();
8475 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
8475 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
9150 TemplateDecl *GuidedTemplateDecl = GuidedTemplate.getAsTemplateDecl();
9234 auto *TD = SpecifiedName.getAsTemplateDecl();
10208 if (auto *TargetTD = dyn_cast<TemplateDecl>(Target))
10208 if (auto *TargetTD = dyn_cast<TemplateDecl>(Target))
tools/clang/lib/Sema/SemaExpr.cpp 2957 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(D)) {
2957 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(D)) {
tools/clang/lib/Sema/SemaExprCXX.cpp 320 if (TemplateDecl *SpecTemplate = SpecName.getAsTemplateDecl()) {
tools/clang/lib/Sema/SemaInit.cpp 9686 if (auto *TD = TemplateName.getAsTemplateDecl())
tools/clang/lib/Sema/SemaLookup.cpp 405 if (auto *DTD = dyn_cast<TemplateDecl>(DUnderlying)) {
405 if (auto *DTD = dyn_cast<TemplateDecl>(DUnderlying)) {
406 auto *ETD = cast<TemplateDecl>(EUnderlying);
406 auto *ETD = cast<TemplateDecl>(EUnderlying);
1517 if (auto *TD = dyn_cast<TemplateDecl>(ND))
1517 if (auto *TD = dyn_cast<TemplateDecl>(ND))
1713 if (const auto *TD = DCD->getDescribedTemplate()) {
5292 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
5292 if (TemplateDecl *TD = dyn_cast<TemplateDecl>(D))
tools/clang/lib/Sema/SemaOverload.cpp10229 static TemplateDecl *getDescribedTemplate(Decl *Templated) {
10230 if (TemplateDecl *TD = Templated->getDescribedTemplate())
tools/clang/lib/Sema/SemaTemplate.cpp 60 if (isa<TemplateDecl>(D)) {
238 TemplateDecl *TD = cast<TemplateDecl>(D);
238 TemplateDecl *TD = cast<TemplateDecl>(D);
292 TemplateDecl *TD = R.getAsSingle<TemplateDecl>();
292 TemplateDecl *TD = R.getAsSingle<TemplateDecl>();
847 TemplateDecl *Sema::AdjustDeclIfTemplate(Decl *&D) {
848 if (TemplateDecl *Temp = dyn_cast_or_null<TemplateDecl>(D)) {
848 if (TemplateDecl *Temp = dyn_cast_or_null<TemplateDecl>(D)) {
2038 void Sema::DeclareImplicitDeductionGuides(TemplateDecl *Template,
2042 TemplateDecl *DescribedTemplate = DefRecord->getDescribedClassTemplate();
2663 if (TemplateDecl *Template = TST->getTemplateName().getAsTemplateDecl()) {
2800 if (TemplateDecl *Template = TST->getTemplateName().getAsTemplateDecl()) {
2965 if (TemplateDecl *Template = Name.getAsTemplateDecl()) {
3211 TemplateDecl *Template = Name.getAsTemplateDecl();
3434 Name = TemplateName(Corrected.getCorrectionDeclAs<TemplateDecl>());
4215 if (TemplateDecl *TD = Name.getAsTemplateDecl()) {
4285 if (auto *TD = R.getAsSingle<TemplateDecl>()) {
4285 if (auto *TD = R.getAsSingle<TemplateDecl>()) {
4620 TemplateDecl *Template,
4729 TemplateDecl *Template,
4770 Sema::SubstDefaultTemplateArgumentIfAvailable(TemplateDecl *Template,
5169 TemplateDecl *TD,
5174 D = cast<TemplateParmDecl>(cast<TemplateDecl>(TD->getMostRecentDecl())
5206 TemplateDecl *Template, SourceLocation TemplateLoc,
5219 cast<TemplateDecl>(Template->getMostRecentDecl())
6876 TemplateDecl *Template = Name.getAsTemplateDecl();
7649 SourceLocation TemplateNameLoc, TemplateDecl *PrimaryTemplate,
8956 TemplateDecl *TD = Name.getAsTemplateDecl();
9935 const TemplateDecl *EnableIfDecl =
10091 if (auto *TD = getAsTypeTemplateDecl(Result.getFoundDecl())) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp 485 TemplateDecl *ParamDecl = Param.getAsTemplateDecl();
2599 Sema &S, TemplateDeclT *Template, bool IsDeduced,
2655 TemplateDecl *TD = dyn_cast<TemplateDecl>(Template);
2655 TemplateDecl *TD = dyn_cast<TemplateDecl>(Template);
2796 Sema &S, TemplateDecl *Template, bool PartialOrdering,
4931 static bool isSameTemplate(TemplateDecl *T1, TemplateDecl *T2) {
4931 static bool isSameTemplate(TemplateDecl *T1, TemplateDecl *T2) {
5050 TemplateLikeDecl *P2,
5170 TemplateDecl *Primary = Spec->getSpecializedTemplate();
5193 TemplateParameterList *P, TemplateDecl *AArg, SourceLocation Loc) {
5326 if (TemplateDecl *Template = Name.getAsTemplateDecl()) {
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp 271 TemplateDecl *Template, ArrayRef<TemplateArgument> TemplateArgs,
295 TemplateDecl *Template,
356 Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template,
366 ConstraintsCheck, TemplateDecl *Template,
375 ConstraintSubstitution, TemplateDecl *Template,
534 TemplateDecl *Template = cast<TemplateDecl>(Active->Template);
534 TemplateDecl *Template = cast<TemplateDecl>(Active->Template);
574 if (auto *D = dyn_cast<TemplateDecl>(Active->Entity)) {
574 if (auto *D = dyn_cast<TemplateDecl>(Active->Entity)) {
620 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
620 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
639 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
639 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 5442 TemplateDecl *TD = Guide->getDeducedTemplate();
tools/clang/lib/Sema/SemaType.cpp 3137 if (auto *TD = TN.getAsTemplateDecl())
tools/clang/lib/Sema/TreeTransform.h 1067 if (auto *TD = Deduced->getTemplateName().getAsTemplateDecl())
1176 TemplateDecl *Template);
3796 TemplateDecl *OldTemplate = Name.getCXXDeductionGuideTemplate();
3797 TemplateDecl *NewTemplate = cast_or_null<TemplateDecl>(
3797 TemplateDecl *NewTemplate = cast_or_null<TemplateDecl>(
3850 TemplateDecl *Template = QTN->getTemplateDecl();
3853 TemplateDecl *TransTemplate
3854 = cast_or_null<TemplateDecl>(getDerived().TransformDecl(NameLoc,
3898 if (TemplateDecl *Template = Name.getAsTemplateDecl()) {
3899 TemplateDecl *TransTemplate
3900 = cast_or_null<TemplateDecl>(getDerived().TransformDecl(NameLoc,
13141 TemplateDecl *Template) {
tools/clang/lib/Serialization/ASTReader.cpp 9139 ReadDeclAs<TemplateDecl>(F, Record, Idx));
9223 return TemplateName(ReadDeclAs<TemplateDecl>(F, Record, Idx));
9242 TemplateDecl *Template = ReadDeclAs<TemplateDecl>(F, Record, Idx);
9242 TemplateDecl *Template = ReadDeclAs<TemplateDecl>(F, Record, Idx);
tools/clang/lib/Serialization/ASTReaderDecl.cpp 384 DeclID VisitTemplateDecl(TemplateDecl *D);
1998 DeclID ASTDeclReader::VisitTemplateDecl(TemplateDecl *D) {
3068 if (const auto *TemplateX = dyn_cast<TemplateDecl>(X)) {
3068 if (const auto *TemplateX = dyn_cast<TemplateDecl>(X)) {
3069 const auto *TemplateY = cast<TemplateDecl>(Y);
3069 const auto *TemplateY = cast<TemplateDecl>(Y);
3517 TemplateDecl *From,
3518 TemplateDecl *To) {
3561 if (auto *TD = dyn_cast<TemplateDecl>(D))
3561 if (auto *TD = dyn_cast<TemplateDecl>(D))
3563 cast<TemplateDecl>(Previous), TD);
tools/clang/lib/Serialization/ASTWriterDecl.cpp 104 void VisitTemplateDecl(TemplateDecl *D);
1439 void ASTDeclWriter::VisitTemplateDecl(TemplateDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp 87 TemplateDecl *TD = TM.getAsTemplateDecl();
101 TemplateDecl *TD = TM.getAsTemplateDecl();
tools/clang/tools/extra/clang-doc/Serialize.cpp 337 const TemplateDecl *D = Ty->getTemplateName().getAsTemplateDecl();
452 const TemplateDecl *D = Ty->getTemplateName().getAsTemplateDecl();
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp 76 if (const TemplateDecl *TD = TS->getTemplateName().getAsTemplateDecl())
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp 132 if (const auto *TD = Used->getAsTemplate().getAsTemplateDecl())
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp 765 const auto *Decl =
769 if (const auto *ClassDecl = dyn_cast<TemplateDecl>(Decl)) {
769 if (const auto *ClassDecl = dyn_cast<TemplateDecl>(Decl)) {
tools/clang/tools/extra/clangd/ExpectedTypes.cpp 50 if (auto *Template = dyn_cast<TemplateDecl>(D))
tools/clang/tools/extra/clangd/FindSymbols.cpp 196 if (auto *Templ = llvm::dyn_cast<TemplateDecl>(D))
196 if (auto *Templ = llvm::dyn_cast<TemplateDecl>(D))
tools/clang/tools/extra/clangd/FindTarget.cpp 282 if (auto *TD = TST->getTemplateName().getAsTemplateDecl())
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp 40 if (auto *TD = dyn_cast<TemplateDecl>(D)) {
211 if (const TemplateDecl *TD =
tools/clang/tools/extra/clangd/XRefs.cpp 632 if (const TemplateDecl *TD = D->getDescribedTemplate()) {
1201 if (TemplateDecl *TD = TN.getAsTemplateDecl()) {
tools/clang/tools/libclang/CIndex.cpp 4518 const TemplateDecl *Template = getCursorTemplateRef(C).first;
5835 std::pair<const TemplateDecl *, SourceLocation> P =
tools/clang/tools/libclang/CIndexCXX.cpp 56 if (const TemplateDecl *Template
57 = dyn_cast_or_null<TemplateDecl>(getCursorDecl(C)))
tools/clang/tools/libclang/CXCursor.cpp 804 CXCursor cxcursor::MakeCursorTemplateRef(const TemplateDecl *Template,
813 std::pair<const TemplateDecl *, SourceLocation>
tools/clang/tools/libclang/CXCursor.h 99 CXCursor MakeCursorTemplateRef(const TemplateDecl *Template, SourceLocation Loc,
104 std::pair<const TemplateDecl *, SourceLocation>
tools/clang/tools/libclang/CXIndexDataConsumer.cpp 1202 if (const TemplateDecl *Template = dyn_cast<TemplateDecl>(D))
1202 if (const TemplateDecl *Template = dyn_cast<TemplateDecl>(D))
tools/clang/unittests/AST/ASTImporterGenericRedeclTest.cpp 124 if (auto *PrevT = dyn_cast<TemplateDecl>(Prev)) {
124 if (auto *PrevT = dyn_cast<TemplateDecl>(Prev)) {
126 auto *CurrentT = cast<TemplateDecl>(Current);
126 auto *CurrentT = cast<TemplateDecl>(Current);
170 if (auto *ToT = dyn_cast<TemplateDecl>(ToD)) {
170 if (auto *ToT = dyn_cast<TemplateDecl>(ToD)) {
186 if (auto *ToT = dyn_cast<TemplateDecl>(ToD)) {
186 if (auto *ToT = dyn_cast<TemplateDecl>(ToD)) {
297 if (auto *ToT0 = dyn_cast<TemplateDecl>(To0)) {
297 if (auto *ToT0 = dyn_cast<TemplateDecl>(To0)) {
tools/clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp 85 if (isa<DeclContext>(D) || isa<TemplateDecl>(D))
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>