clang 20.0.0git
|
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". More...
#include "clang/AST/TemplateBase.h"
Public Member Functions | |
SourceLocation | getLAngleLoc () const |
SourceLocation | getRAngleLoc () const |
const TemplateArgumentLoc * | getTemplateArgs () const |
Retrieve the template arguments. | |
unsigned | getNumTemplateArgs () const |
llvm::ArrayRef< TemplateArgumentLoc > | arguments () const |
const TemplateArgumentLoc & | operator[] (unsigned I) const |
Static Public Member Functions | |
static const ASTTemplateArgumentListInfo * | Create (const ASTContext &C, const TemplateArgumentListInfo &List) |
static const ASTTemplateArgumentListInfo * | Create (const ASTContext &C, const ASTTemplateArgumentListInfo *List) |
Public Attributes | |
SourceLocation | LAngleLoc |
The source location of the left angle bracket ('<'). | |
SourceLocation | RAngleLoc |
The source location of the right angle bracket ('>'). | |
unsigned | NumTemplateArgs |
The number of template arguments in TemplateArgs. | |
Friends | |
class | ASTNodeImporter |
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>".
This is safe to be used inside an AST node, in contrast with TemplateArgumentListInfo.
Definition at line 674 of file TemplateBase.h.
|
inline |
Definition at line 705 of file TemplateBase.h.
References getNumTemplateArgs(), and getTemplateArgs().
Referenced by clang::ASTNodeTraverser< Derived, NodeDelegateType >::dumpASTTemplateArgumentListInfo(), FinishTemplateArgumentDeduction(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), clang::ConceptReference::print(), substituteParameterMappings(), clang::Sema::SubstTypeConstraint(), and clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitConceptSpecializationExpr().
|
static |
Definition at line 718 of file TemplateBase.cpp.
References clang::C.
|
static |
Definition at line 710 of file TemplateBase.cpp.
References clang::C.
Referenced by clang::Sema::AttachTypeConstraint(), clang::Sema::CheckConceptTemplateId(), clang::FunctionTemplateSpecializationInfo::Create(), clang::DependentFunctionTemplateSpecializationInfo::Create(), createTrivialConceptReference(), clang::ASTNodeImporter::import(), clang::ASTRecordReader::readASTTemplateArgumentListInfo(), clang::ClassTemplateSpecializationDecl::setTemplateArgsAsWritten(), and clang::VarTemplateSpecializationDecl::setTemplateArgsAsWritten().
|
inline |
Definition at line 696 of file TemplateBase.h.
References LAngleLoc.
Referenced by substituteParameterMappings().
|
inline |
Definition at line 703 of file TemplateBase.h.
References NumTemplateArgs.
Referenced by arguments().
|
inline |
Definition at line 697 of file TemplateBase.h.
References RAngleLoc.
Referenced by clang::ConceptReference::getEndLoc(), and substituteParameterMappings().
|
inline |
Retrieve the template arguments.
Definition at line 700 of file TemplateBase.h.
Referenced by clang::ASTRecordWriter::AddASTTemplateArgumentListInfo(), arguments(), and operator[]().
|
inline |
Definition at line 709 of file TemplateBase.h.
References getTemplateArgs().
|
friend |
Definition at line 678 of file TemplateBase.h.
SourceLocation clang::ASTTemplateArgumentListInfo::LAngleLoc |
The source location of the left angle bracket ('<').
Definition at line 688 of file TemplateBase.h.
Referenced by clang::ASTRecordWriter::AddASTTemplateArgumentListInfo(), FinishTemplateArgumentDeduction(), getLAngleLoc(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), and clang::Sema::SubstTypeConstraint().
unsigned clang::ASTTemplateArgumentListInfo::NumTemplateArgs |
The number of template arguments in TemplateArgs.
Definition at line 694 of file TemplateBase.h.
Referenced by clang::ASTRecordWriter::AddASTTemplateArgumentListInfo(), diagnoseUnsatisfiedRequirement(), getNumTemplateArgs(), clang::ASTContext::isSameTypeConstraint(), and substituteParameterMappings().
SourceLocation clang::ASTTemplateArgumentListInfo::RAngleLoc |
The source location of the right angle bracket ('>').
Definition at line 691 of file TemplateBase.h.
Referenced by clang::ASTRecordWriter::AddASTTemplateArgumentListInfo(), FinishTemplateArgumentDeduction(), getRAngleLoc(), clang::TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(), clang::TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization(), and clang::Sema::SubstTypeConstraint().