Lines Matching defs:Template

1 //===------- SemaTemplateInstantiate.cpp - C++ Template Instantiation ------===/
37 #include "clang/Sema/Template.h"
50 // Template Instantiation Support
114 TypeAliasTemplateDecl *Template = nullptr;
118 explicit operator bool() noexcept { return Template; }
133 /*Template=*/TATD,
424 Result.addOuterTemplateArguments(TypeAlias.Template,
440 return Response::ChangeDecl(TypeAlias.Template->getDeclContext());
584 Decl *Entity, NamedDecl *Template, ArrayRef<TemplateArgument> TemplateArgs,
601 Inst.Template = Template;
632 TemplateDecl *Template, ArrayRef<TemplateArgument> TemplateArgs,
638 Template, TemplateArgs) {}
656 TemplateDecl *Template,
662 PointOfInstantiation, InstantiationRange, Template, nullptr,
697 Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template,
703 PointOfInstantiation, InstantiationRange, Param, Template,
707 Sema &SemaRef, SourceLocation PointOfInstantiation, NamedDecl *Template,
713 PointOfInstantiation, InstantiationRange, Param, Template,
723 /*Template=*/nullptr, TemplateArgs) {}
726 Sema &SemaRef, SourceLocation PointOfInstantiation, TemplateDecl *Template,
731 PointOfInstantiation, InstantiationRange, Param, Template,
741 /*Template=*/nullptr, /*TemplateArgs=*/std::nullopt, &DeductionInfo) {
751 /*Template=*/nullptr, /*TemplateArgs=*/std::nullopt) {}
759 /*Template=*/nullptr, /*TemplateArgs=*/std::nullopt, &DeductionInfo) {
764 ConstraintsCheck, NamedDecl *Template,
768 PointOfInstantiation, InstantiationRange, Template, nullptr,
773 ConstraintSubstitution, NamedDecl *Template,
777 PointOfInstantiation, InstantiationRange, Template, nullptr,
782 ConstraintNormalization, NamedDecl *Template,
786 PointOfInstantiation, InstantiationRange, Template) {}
790 ParameterMappingSubstitution, NamedDecl *Template,
794 PointOfInstantiation, InstantiationRange, Template) {}
967 TemplateDecl *Template = cast<TemplateDecl>(Active->Template);
970 Template->printName(OS, getPrintingPolicy());
1053 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
1054 TemplateParams = Template->getTemplateParameters();
1057 cast<ClassTemplatePartialSpecializationDecl>(Active->Template)
1072 if (TemplateDecl *Template = dyn_cast<TemplateDecl>(Active->Template))
1073 TemplateParams = Template->getTemplateParameters();
1076 cast<ClassTemplatePartialSpecializationDecl>(Active->Template)
1334 // Template Instantiation for Types
1648 unsigned TypeAliasDeclDepth = TypeAlias.Template->getTemplateDepth();
1832 TemplateName Template = Arg.getAsTemplate();
1833 assert(!Template.isNull() && Template.getAsTemplateDecl() &&
1835 return Template.getAsTemplateDecl();
1981 assert(Arg.getKind() == TemplateArgument::Template &&
2005 TemplateName Template = Arg.getAsTemplate();
2006 assert(!Template.isNull() && "Null template template argument");
2009 return Template;
2011 Template, AssociatedDecl, TTP->getIndex(), PackIndex);
2021 TemplateName Template =
2024 return Template;
2026 Template, SubstPack->getAssociatedDecl(), SubstPack->getIndex(),
2519 "Template argument kind mismatch");
3825 ClassTemplateDecl *Template = ClassTemplateSpec->getSpecializedTemplate();
3838 Template->getPartialSpecializations(PartialSpecs);
3849 DeclAccessPair::make(Template, AS_public), Partial,
3942 ClassTemplateDecl *Template = ClassTemplateSpec->getSpecializedTemplate();
3943 while (Template->getInstantiatedFromMemberTemplate()) {
3946 if (Template->isMemberSpecialization())
3949 Template = Template->getInstantiatedFromMemberTemplate();
3951 Pattern = Template->getTemplatedDecl();