clang
6.0.0
|
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, bool &Dependent, bool &InstantiationDependent, bool &ContainsUnexpandedParameterPack) |
void | initializeFrom (SourceLocation TemplateKWLoc) |
void | copyInto (const TemplateArgumentLoc *ArgArray, TemplateArgumentListInfo &List) const |
Public Attributes | |
SourceLocation | LAngleLoc |
The source location of the left angle bracket ('<'). More... | |
SourceLocation | RAngleLoc |
The source location of the right angle bracket ('>'). More... | |
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>. More... | |
unsigned | NumTemplateArgs |
The number of template arguments in TemplateArgs. More... | |
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 638 of file TemplateBase.h.
void ASTTemplateKWAndArgsInfo::copyInto | ( | const TemplateArgumentLoc * | ArgArray, |
TemplateArgumentListInfo & | List | ||
) | const |
Definition at line 624 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::setLAngleLoc(), and clang::TemplateArgumentListInfo::setRAngleLoc().
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
const TemplateArgumentListInfo & | List, | ||
TemplateArgumentLoc * | OutArgArray | ||
) |
Definition at line 583 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), and clang::TemplateArgumentListInfo::size().
Referenced by clang::ASTStmtReader::ReadTemplateKWAndArgsInfo().
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc, |
const TemplateArgumentListInfo & | List, | ||
TemplateArgumentLoc * | OutArgArray, | ||
bool & | Dependent, | ||
bool & | InstantiationDependent, | ||
bool & | ContainsUnexpandedParameterPack | ||
) |
Definition at line 603 of file TemplateBase.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), and clang::TemplateArgumentListInfo::size().
void ASTTemplateKWAndArgsInfo::initializeFrom | ( | SourceLocation | TemplateKWLoc | ) |
Definition at line 595 of file TemplateBase.cpp.
References clang::SourceLocation::isValid().
SourceLocation clang::ASTTemplateKWAndArgsInfo::LAngleLoc |
The source location of the left angle bracket ('<').
Definition at line 640 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), and clang::OverloadExpr::getLAngleLoc().
unsigned clang::ASTTemplateKWAndArgsInfo::NumTemplateArgs |
The number of template arguments in TemplateArgs.
Definition at line 652 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), and clang::OverloadExpr::getNumTemplateArgs().
SourceLocation clang::ASTTemplateKWAndArgsInfo::RAngleLoc |
The source location of the right angle bracket ('>').
Definition at line 643 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), and clang::OverloadExpr::getRAngleLoc().
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 649 of file TemplateBase.h.
Referenced by clang::ASTStmtWriter::AddTemplateKWAndArgsInfo(), and clang::OverloadExpr::getTemplateKeywordLoc().