struct Sema::InstantiatingTemplate
Declaration
struct Sema::InstantiatingTemplate { /* full declaration omitted */ };
Description
A stack object to be created when performing template instantiation. Construction of an object of type \c InstantiatingTemplate pushes the current instantiation onto the stack of active instantiations. If the size of this stack exceeds the maximum number of recursive template instantiations, construction produces an error and evaluates true. Destruction of this object will pop the named instantiation off the stack.
Declared at: clang/include/clang/Sema/Sema.h:9210
Member Variables
- private clang::Sema& SemaRef
- private bool Invalid
- private bool AlreadyInstantiating
Method Overview
- private bool CheckInstantiationDepth(clang::SourceLocation PointOfInstantiation, clang::SourceRange InstantiationRange)
- public void Clear()
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::Sema::InstantiatingTemplate::ConstraintSubstitution, clang::NamedDecl * Template, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange)
- private InstantiatingTemplate(const clang::Sema::InstantiatingTemplate &)
- private InstantiatingTemplate(clang::Sema & SemaRef, CodeSynthesisContext::SynthesisKind Kind, clang::SourceLocation PointOfInstantiation, clang::SourceRange InstantiationRange, clang::Decl * Entity, clang::NamedDecl * Template = nullptr, ArrayRef<clang::TemplateArgument> TemplateArgs = None, sema::TemplateDeductionInfo * DeductionInfo = nullptr)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, concepts::NestedRequirement * Req, clang::Sema::InstantiatingTemplate::ConstraintsCheck, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, concepts::Requirement * Req, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::Sema::InstantiatingTemplate::ParameterMappingSubstitution, clang::NamedDecl * Template, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::Sema::InstantiatingTemplate::ConstraintNormalization, clang::NamedDecl * Template, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::Decl * Entity, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::Sema::InstantiatingTemplate::ConstraintsCheck, clang::NamedDecl * Template, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::TemplateDecl * Template, clang::NamedDecl * Param, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::NamedDecl * Template, clang::TemplateTemplateParmDecl * Param, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::NamedDecl * Template, clang::NonTypeTemplateParmDecl * Param, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange)
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::ParmVarDecl * Param, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::VarTemplatePartialSpecializationDecl * PartialSpec, ArrayRef<clang::TemplateArgument> TemplateArgs, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::ClassTemplatePartialSpecializationDecl * PartialSpec, ArrayRef<clang::TemplateArgument> TemplateArgs, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::TemplateDecl * Template, ArrayRef<clang::TemplateArgument> TemplateArgs, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::FunctionTemplateDecl * FunctionTemplate, ArrayRef<clang::TemplateArgument> TemplateArgs, CodeSynthesisContext::SynthesisKind Kind, sema::TemplateDeductionInfo & DeductionInfo, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::TemplateParameter Param, clang::TemplateDecl * Template, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange InstantiationRange = clang::SourceRange())
- public InstantiatingTemplate(clang::Sema & SemaRef, clang::SourceLocation PointOfInstantiation, clang::FunctionDecl * Entity, clang::Sema::InstantiatingTemplate::ExceptionSpecification, clang::SourceRange InstantiationRange = clang::SourceRange())
- public bool isAlreadyInstantiating() const
- public bool isInvalid() const
- public ~InstantiatingTemplate()
Methods
¶bool CheckInstantiationDepth(
clang::SourceLocation PointOfInstantiation,
clang::SourceRange InstantiationRange)
bool CheckInstantiationDepth(
clang::SourceLocation PointOfInstantiation,
clang::SourceRange InstantiationRange)
Declared at: clang/include/clang/Sema/Sema.h:9359
Parameters
- clang::SourceLocation PointOfInstantiation
- clang::SourceRange InstantiationRange
¶void Clear()
void Clear()
Description
Note that we have finished instantiating this template.
Declared at: clang/include/clang/Sema/Sema.h:9343
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintSubstitution,
clang::NamedDecl* Template,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintSubstitution,
clang::NamedDecl* Template,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange)
Description
Note that we are checking a constraint expression associated with a template declaration or as part of the satisfaction check of a concept.
Declared at: clang/include/clang/Sema/Sema.h:9311
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::Sema::InstantiatingTemplate:: ConstraintSubstitution
- clang::NamedDecl* Template
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
const clang::Sema::InstantiatingTemplate&)
InstantiatingTemplate(
const clang::Sema::InstantiatingTemplate&)
Declared at: clang/include/clang/Sema/Sema.h:9369
Parameters
¶InstantiatingTemplate(
clang::Sema& SemaRef,
CodeSynthesisContext::SynthesisKind Kind,
clang::SourceLocation PointOfInstantiation,
clang::SourceRange InstantiationRange,
clang::Decl* Entity,
clang::NamedDecl* Template = nullptr,
ArrayRef<clang::TemplateArgument>
TemplateArgs = None,
sema::TemplateDeductionInfo* DeductionInfo =
nullptr)
InstantiatingTemplate(
clang::Sema& SemaRef,
CodeSynthesisContext::SynthesisKind Kind,
clang::SourceLocation PointOfInstantiation,
clang::SourceRange InstantiationRange,
clang::Decl* Entity,
clang::NamedDecl* Template = nullptr,
ArrayRef<clang::TemplateArgument>
TemplateArgs = None,
sema::TemplateDeductionInfo* DeductionInfo =
nullptr)
Declared at: clang/include/clang/Sema/Sema.h:9362
Parameters
- clang::Sema& SemaRef
- CodeSynthesisContext::SynthesisKind Kind
- clang::SourceLocation PointOfInstantiation
- clang::SourceRange InstantiationRange
- clang::Decl* Entity
- clang::NamedDecl* Template = nullptr
- ArrayRef<clang::TemplateArgument> TemplateArgs = None
- sema::TemplateDeductionInfo* DeductionInfo = nullptr
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
concepts::NestedRequirement* Req,
clang::Sema::InstantiatingTemplate::
ConstraintsCheck,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
concepts::NestedRequirement* Req,
clang::Sema::InstantiatingTemplate::
ConstraintsCheck,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are checking the satisfaction of the constraint expression inside of a nested requirement.
Declared at: clang/include/clang/Sema/Sema.h:9338
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- concepts::NestedRequirement* Req
- clang::Sema::InstantiatingTemplate:: ConstraintsCheck
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
concepts::Requirement* Req,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
concepts::Requirement* Req,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are substituting template arguments into a part of a requirement of a requires expression.
Declared at: clang/include/clang/Sema/Sema.h:9331
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- concepts::Requirement* Req
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ParameterMappingSubstitution,
clang::NamedDecl* Template,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ParameterMappingSubstitution,
clang::NamedDecl* Template,
clang::SourceRange InstantiationRange)
Description
Note that we are subtituting into the parameter mapping of an atomic constraint during constraint normalization.
Declared at: clang/include/clang/Sema/Sema.h:9325
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::Sema::InstantiatingTemplate:: ParameterMappingSubstitution
- clang::NamedDecl* Template
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintNormalization,
clang::NamedDecl* Template,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintNormalization,
clang::NamedDecl* Template,
clang::SourceRange InstantiationRange)
Description
Note that we are normalizing a constraint expression.
Declared at: clang/include/clang/Sema/Sema.h:9318
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::Sema::InstantiatingTemplate:: ConstraintNormalization
- clang::NamedDecl* Template
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Decl* Entity,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Decl* Entity,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating a class template, function template, variable template, alias template, or a member thereof.
Declared at: clang/include/clang/Sema/Sema.h:9214
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::Decl* Entity
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintsCheck,
clang::NamedDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::Sema::InstantiatingTemplate::
ConstraintsCheck,
clang::NamedDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
Description
Note that we are checking the constraints associated with some constrained entity (a concept declaration or a template with associated constraints).
Declared at: clang/include/clang/Sema/Sema.h:9302
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::Sema::InstantiatingTemplate:: ConstraintsCheck
- clang::NamedDecl* Template
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateDecl* Template,
clang::NamedDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateDecl* Template,
clang::NamedDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
Description
Note that we are checking the default template argument against the template parameter for a given template-id.
Declared at: clang/include/clang/Sema/Sema.h:9292
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::TemplateDecl* Template
- clang::NamedDecl* Param
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::NamedDecl* Template,
clang::TemplateTemplateParmDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::NamedDecl* Template,
clang::TemplateTemplateParmDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
Description
Note that we are substituting prior template arguments into a template template parameter.
Declared at: clang/include/clang/Sema/Sema.h:9284
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::NamedDecl* Template
- clang::TemplateTemplateParmDecl* Param
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::NamedDecl* Template,
clang::NonTypeTemplateParmDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::NamedDecl* Template,
clang::NonTypeTemplateParmDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange)
Description
Note that we are substituting prior template arguments into a non-type parameter.
Declared at: clang/include/clang/Sema/Sema.h:9276
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::NamedDecl* Template
- clang::NonTypeTemplateParmDecl* Param
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::ParmVarDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::ParmVarDecl* Param,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating a default argument for a function parameter.
Declared at: clang/include/clang/Sema/Sema.h:9269
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::ParmVarDecl* Param
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::VarTemplatePartialSpecializationDecl*
PartialSpec,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::VarTemplatePartialSpecializationDecl*
PartialSpec,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating as part of template argument deduction for a variable template partial specialization.
Declared at: clang/include/clang/Sema/Sema.h:9261
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::VarTemplatePartialSpecializationDecl* PartialSpec
- ArrayRef<clang::TemplateArgument> TemplateArgs
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::ClassTemplatePartialSpecializationDecl*
PartialSpec,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::ClassTemplatePartialSpecializationDecl*
PartialSpec,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating as part of template argument deduction for a class template partial specialization.
Declared at: clang/include/clang/Sema/Sema.h:9252
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::ClassTemplatePartialSpecializationDecl* PartialSpec
- ArrayRef<clang::TemplateArgument> TemplateArgs
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating as part of template argument deduction for a class template declaration.
Declared at: clang/include/clang/Sema/Sema.h:9243
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::TemplateDecl* Template
- ArrayRef<clang::TemplateArgument> TemplateArgs
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::FunctionTemplateDecl* FunctionTemplate,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
CodeSynthesisContext::SynthesisKind Kind,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::FunctionTemplateDecl* FunctionTemplate,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
CodeSynthesisContext::SynthesisKind Kind,
sema::TemplateDeductionInfo& DeductionInfo,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are substituting either explicitly-specified or deduced template arguments during function template argument deduction.
Declared at: clang/include/clang/Sema/Sema.h:9234
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::FunctionTemplateDecl* FunctionTemplate
- ArrayRef<clang::TemplateArgument> TemplateArgs
- CodeSynthesisContext::SynthesisKind Kind
- sema::TemplateDeductionInfo& DeductionInfo
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateParameter Param,
clang::TemplateDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::TemplateParameter Param,
clang::TemplateDecl* Template,
ArrayRef<clang::TemplateArgument>
TemplateArgs,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating a default argument in a template-id.
Declared at: clang/include/clang/Sema/Sema.h:9227
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::TemplateParameter Param
- clang::TemplateDecl* Template
- ArrayRef<clang::TemplateArgument> TemplateArgs
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::FunctionDecl* Entity,
clang::Sema::InstantiatingTemplate::
ExceptionSpecification,
clang::SourceRange InstantiationRange =
clang::SourceRange())
InstantiatingTemplate(
clang::Sema& SemaRef,
clang::SourceLocation PointOfInstantiation,
clang::FunctionDecl* Entity,
clang::Sema::InstantiatingTemplate::
ExceptionSpecification,
clang::SourceRange InstantiationRange =
clang::SourceRange())
Description
Note that we are instantiating an exception specification of a function template.
Declared at: clang/include/clang/Sema/Sema.h:9221
Parameters
- clang::Sema& SemaRef
- clang::SourceLocation PointOfInstantiation
- clang::FunctionDecl* Entity
- clang::Sema::InstantiatingTemplate:: ExceptionSpecification
- clang::SourceRange InstantiationRange = clang::SourceRange()
¶bool isAlreadyInstantiating() const
bool isAlreadyInstantiating() const
Description
Determine whether we are already instantiating this specialization in some surrounding active instantiation.
Declared at: clang/include/clang/Sema/Sema.h:9353
¶bool isInvalid() const
bool isInvalid() const
Description
Determines whether we have exceeded the maximum recursive template instantiations.
Declared at: clang/include/clang/Sema/Sema.h:9349
¶~InstantiatingTemplate()
~InstantiatingTemplate()
Declared at: clang/include/clang/Sema/Sema.h:9345