|
clang 23.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 | |
| void | initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List, TemplateArgumentLoc *OutArgArray) |
| void | initializeFrom (SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &List, TemplateArgumentLoc *OutArgArray, TemplateArgumentDependence &Deps) |
| void | initializeFrom (SourceLocation TemplateKWLoc) |
| void | copyInto (const TemplateArgumentLoc *ArgArray, TemplateArgumentListInfo &List) const |
Public Attributes | |
| SourceLocation | LAngleLoc |
| The source location of the left angle bracket ('<'). | |
| SourceLocation | RAngleLoc |
| The source location of the right angle bracket ('>'). | |
| SourceLocation | TemplateKWLoc |
| The source location of the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>. | |
| unsigned | NumTemplateArgs |
| The number of template arguments in TemplateArgs. | |
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>".
It is intended to be used as a trailing object on AST nodes, and as such, doesn't contain the array of TemplateArgumentLoc itself, but expects the containing object to also provide storage for that.
Definition at line 780 of file TemplateBase.h.
| void ASTTemplateKWAndArgsInfo::copyInto | ( | const TemplateArgumentLoc * | ArgArray, |
| TemplateArgumentListInfo & | List ) const |
Definition at line 835 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::addArgument(), LAngleLoc, NumTemplateArgs, RAngleLoc, clang::TemplateArgumentListInfo::setLAngleLoc(), and clang::TemplateArgumentListInfo::setRAngleLoc().
Referenced by clang::OverloadExpr::copyTemplateArgumentsInto().
| void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc | ) |
Definition at line 812 of file TemplateBase.cpp.
References LAngleLoc, NumTemplateArgs, RAngleLoc, and TemplateKWLoc.
| void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
| const TemplateArgumentListInfo & | List, | ||
| TemplateArgumentLoc * | OutArgArray ) |
Definition at line 800 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), LAngleLoc, NumTemplateArgs, RAngleLoc, clang::TemplateArgumentListInfo::size(), and TemplateKWLoc.
Referenced by clang::OverloadExpr::OverloadExpr(), and clang::ASTStmtReader::ReadTemplateKWAndArgsInfo().
| void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
| const TemplateArgumentListInfo & | List, | ||
| TemplateArgumentLoc * | OutArgArray, | ||
| TemplateArgumentDependence & | Deps ) |
Definition at line 820 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), LAngleLoc, NumTemplateArgs, RAngleLoc, clang::TemplateArgumentListInfo::size(), and TemplateKWLoc.
| SourceLocation clang::ASTTemplateKWAndArgsInfo::LAngleLoc |
The source location of the left angle bracket ('<').
Definition at line 782 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), copyInto(), clang::OverloadExpr::getLAngleLoc(), initializeFrom(), initializeFrom(), and initializeFrom().
| unsigned clang::ASTTemplateKWAndArgsInfo::NumTemplateArgs |
The number of template arguments in TemplateArgs.
Definition at line 794 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), copyInto(), clang::OverloadExpr::getNumTemplateArgs(), clang::OverloadExpr::hasExplicitTemplateArgs(), initializeFrom(), initializeFrom(), and initializeFrom().
| SourceLocation clang::ASTTemplateKWAndArgsInfo::RAngleLoc |
The source location of the right angle bracket ('>').
Definition at line 785 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), copyInto(), clang::OverloadExpr::getRAngleLoc(), initializeFrom(), initializeFrom(), and initializeFrom().
| SourceLocation clang::ASTTemplateKWAndArgsInfo::TemplateKWLoc |
The source location of the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>.
Will be empty if this expression does not have a template keyword.
Definition at line 791 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), clang::OverloadExpr::getTemplateKeywordLoc(), initializeFrom(), initializeFrom(), and initializeFrom().