clang 18.0.0git
|
A template argument list. More...
#include "clang/AST/DeclTemplate.h"
Public Types | |
enum | OnStackType { OnStack } |
Type used to indicate that the template argument list itself is a stack object. More... | |
Public Member Functions | |
TemplateArgumentList (const TemplateArgumentList &)=delete | |
TemplateArgumentList & | operator= (const TemplateArgumentList &)=delete |
TemplateArgumentList (OnStackType, ArrayRef< TemplateArgument > Args) | |
Construct a new, temporary template argument list on the stack. | |
TemplateArgumentList (const TemplateArgumentList *Other) | |
Produces a shallow copy of the given template argument list. | |
const TemplateArgument & | get (unsigned Idx) const |
Retrieve the template argument at a given index. | |
const TemplateArgument & | operator[] (unsigned Idx) const |
Retrieve the template argument at a given index. | |
ArrayRef< TemplateArgument > | asArray () const |
Produce this as an array ref. | |
unsigned | size () const |
Retrieve the number of template arguments in this template argument list. | |
const TemplateArgument * | data () const |
Retrieve a pointer to the template argument list. | |
Static Public Member Functions | |
static TemplateArgumentList * | CreateCopy (ASTContext &Context, ArrayRef< TemplateArgument > Args) |
Create a new template argument list that copies the given set of template arguments. | |
Public Attributes | |
friend | TrailingObjects |
A template argument list.
Definition at line 242 of file DeclTemplate.h.
Type used to indicate that the template argument list itself is a stack object.
It does not own its template arguments.
Enumerator | |
---|---|
OnStack |
Definition at line 263 of file DeclTemplate.h.
|
delete |
|
inlineexplicit |
Construct a new, temporary template argument list on the stack.
The template argument list does not own the template arguments provided.
Definition at line 274 of file DeclTemplate.h.
|
inlineexplicit |
Produces a shallow copy of the given template argument list.
This operation assumes that the input argument list outlives it. This takes the list as a pointer to avoid looking like a copy constructor, since this really isn't safe to use that way.
Definition at line 282 of file DeclTemplate.h.
|
inline |
Produce this as an array ref.
Definition at line 295 of file DeclTemplate.h.
References data(), and size().
Referenced by clang::Sema::BuildExprRequirement(), clang::Sema::BuildVarTemplateInstantiation(), DeduceTemplateArguments(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::getMoreSpecializedPartialSpecialization(), clang::FunctionDecl::getNameForDiagnostic(), clang::ClassTemplateSpecializationDecl::getNameForDiagnostic(), clang::VarTemplateSpecializationDecl::getNameForDiagnostic(), clang::RedeclarableTemplateDecl::SpecEntryTraits< FunctionTemplateSpecializationInfo >::getTemplateArgs(), clang::Sema::getTemplateInstantiationArgs(), getUuidAttrOfType(), clang::Sema::InstantiateFunctionDeclaration(), clang::Sema::InstantiateVariableDefinition(), clang::Sema::isMoreSpecializedThanPrimary(), clang::Sema::MarkUsedTemplateParameters(), clang::NamedDecl::printNestedNameSpecifier(), clang::FunctionTemplateSpecializationInfo::Profile(), clang::ClassTemplateSpecializationDecl::Profile(), clang::VarTemplateSpecializationDecl::Profile(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), and clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl().
|
static |
Create a new template argument list that copies the given set of template arguments.
Definition at line 881 of file DeclTemplate.cpp.
References clang::ASTContext::Allocate().
Referenced by CheckDeducedArgumentConstraints(), ConvertDeducedTemplateArguments(), clang::Sema::FinishTemplateArgumentDeduction(), FinishTemplateArgumentDeduction(), clang::ASTNodeImporter::ImportTemplateInformation(), instantiateOMPDeclareVariantAttr(), clang::Sema::SubstituteExplicitTemplateArguments(), clang::ASTDeclReader::UpdateDecl(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclReader::VisitClassTemplateSpecializationDeclImpl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTDeclReader::VisitFunctionDecl(), and clang::ASTDeclReader::VisitVarTemplateSpecializationDeclImpl().
|
inline |
Retrieve a pointer to the template argument list.
Definition at line 304 of file DeclTemplate.h.
Referenced by asArray(), get(), and clang::Sema::getTemplateArgumentBindingsText().
|
inline |
Retrieve the template argument at a given index.
Definition at line 286 of file DeclTemplate.h.
References data().
Referenced by addInstanceOfTransition(), clang::ASTRecordWriter::AddTemplateArgumentList(), clang::PredefinedExpr::ComputeName(), operator[](), and clang::Sema::SubstituteExplicitTemplateArguments().
|
delete |
|
inline |
Retrieve the template argument at a given index.
Definition at line 292 of file DeclTemplate.h.
References get().
|
inline |
Retrieve the number of template arguments in this template argument list.
Definition at line 301 of file DeclTemplate.h.
Referenced by addAssociatedClassesAndNamespaces(), clang::ASTRecordWriter::AddTemplateArgumentList(), asArray(), clang::PredefinedExpr::ComputeName(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::dumpTemplateArgumentList(), clang::TypeName::getFullyQualifiedTemplateType(), clang::Sema::getTemplateArgumentBindingsText(), clang::Sema::MarkUsedTemplateParameters(), clang::sema::TemplateDeductionInfo::setExplicitArgs(), clang::Sema::SubstituteExplicitTemplateArguments(), and clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl().
friend clang::TemplateArgumentList::TrailingObjects |
Definition at line 256 of file DeclTemplate.h.