Lines Matching defs:Template
1 //===- SemaTemplateDeduction.cpp - Template Argument Deduction ------------===//
42 #include "clang/Sema/Template.h"
283 case TemplateArgument::Template:
284 if (Y.getKind() == TemplateArgument::Template &&
1868 assert(IAP && "Template parameter not of incomplete array type");
2437 case TemplateArgument::Template:
2438 if (A.getKind() == TemplateArgument::Template)
2507 case TemplateArgument::Template:
2698 case TemplateArgument::Template:
2786 case TemplateArgument::Template:
2789 TemplateName Template = Arg.getAsTemplateOrTemplatePattern();
2790 if (DependentTemplateName *DTN = Template.getAsDependentTemplateName())
2793 Template.getAsQualifiedTemplateName())
2796 if (Arg.getKind() == TemplateArgument::Template)
2824 Sema &S, NamedDecl *Param, DeducedTemplateArgument Arg, NamedDecl *Template,
2838 Param, ArgLoc, Template, Template->getLocation(),
2839 Template->getSourceRange().getEnd(), ArgumentPackIndex, SugaredOutput,
2882 MultiLevelTemplateArgumentList Args(Template, SugaredOutput,
2886 Sema::InstantiatingTemplate Inst(S, Template->getLocation(), Template,
2888 Template->getSourceRange());
2894 Sema::InstantiatingTemplate Inst(S, Template->getLocation(), Template,
2896 Template->getSourceRange());
2919 Sema &S, TemplateDeclT *Template, bool IsDeduced,
2926 TemplateParameterList *TemplateParams = Template->getTemplateParameters();
2967 if (ConvertDeducedTemplateArgument(S, Param, Deduced[I], Template, Info,
2983 TemplateDecl *TD = dyn_cast<TemplateDecl>(Template);
2985 assert(isa<ClassTemplatePartialSpecializationDecl>(Template) ||
2986 isa<VarTemplatePartialSpecializationDecl>(Template));
3057 static bool DeducedArgsNeedReplacement(TemplateDeclT *Template) {
3073 CheckDeducedArgumentConstraints(Sema &S, TemplateDeclT *Template,
3078 Template->getAssociatedConstraints(AssociatedConstraints);
3083 if (!DeducedArgsNeedReplacement(Template))
3087 Template, Template->getDeclContext(), /*Final=*/false, Innermost,
3096 MLTAL.replaceInnermostTemplateArguments(Template, CanonicalDeducedArgs);
3098 if (S.CheckConstraintSatisfaction(Template, AssociatedConstraints, MLTAL,
3150 auto *Template = Partial->getSpecializedTemplate();
3177 Template, Partial->getLocation(), InstArgs, false,
3184 TemplateParameterList *TemplateParams = Template->getTemplateParameters();
3211 Sema &S, TemplateDecl *Template, bool PartialOrdering,
3220 Sema::ContextRAII SavedContext(S, getAsDeclContextOrEnclosing(Template));
3227 S, Template, /*IsDeduced*/ PartialOrdering, Deduced, Info,
3235 TemplateParameterList *TemplateParams = Template->getTemplateParameters();
3250 if (auto Result = CheckDeducedArgumentConstraints(S, Template, SugaredBuilder,
3458 // Template arguments that are present shall be specified in the
3495 // Template argument deduction and the final substitution should be
4384 // Template argument deduction is done by comparing each function template
4430 // Template argument deduction is done by comparing each function template
4819 // Template argument deduction is done by comparing the return
6257 bool TraverseTemplateName(TemplateName Template) {
6259 Template.getAsTemplateDecl()))
6263 TraverseTemplateName(Template);
6332 if (TemplateDecl *Template = Name.getAsTemplateDecl()) {
6334 = dyn_cast<TemplateTemplateParmDecl>(Template)) {
6675 case TemplateArgument::Template: