clang API Documentation
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". More...
#include <Expr.h>

Public Member Functions | |
| TemplateArgumentLoc * | getTemplateArgs () |
| Retrieve the template arguments. | |
| const TemplateArgumentLoc * | getTemplateArgs () const |
| Retrieve the template arguments. | |
| void | initializeFrom (const TemplateArgumentListInfo &List) |
| void | initializeFrom (const TemplateArgumentListInfo &List, bool &Dependent, bool &InstantiationDependent, bool &ContainsUnexpandedParameterPack) |
| void | copyInto (TemplateArgumentListInfo &List) const |
Static Public Member Functions | |
| static std::size_t | sizeFor (unsigned NumTemplateArgs) |
| static std::size_t | sizeFor (const TemplateArgumentListInfo &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. The actual template arguments (if any) are stored after the ExplicitTemplateArgumentList structure. | |
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>".
Definition at line 693 of file Expr.h.
| void ExplicitTemplateArgumentList::copyInto | ( | TemplateArgumentListInfo & | List | ) | const |
Definition at line 166 of file Expr.cpp.
References clang::TemplateArgumentListInfo::addArgument(), getTemplateArgs(), LAngleLoc, NumTemplateArgs, RAngleLoc, clang::TemplateArgumentListInfo::setLAngleLoc(), and clang::TemplateArgumentListInfo::setRAngleLoc().
Referenced by clang::AddressOfFunctionResolver::AddressOfFunctionResolver(), clang::UnresolvedMemberExpr::copyTemplateArgumentsInto(), clang::CXXDependentScopeMemberExpr::copyTemplateArgumentsInto(), clang::DependentScopeDeclRefExpr::copyTemplateArgumentsInto(), clang::UnresolvedLookupExpr::copyTemplateArgumentsInto(), clang::MemberExpr::copyTemplateArgumentsInto(), clang::DeclRefExpr::copyTemplateArgumentsInto(), and clang::Sema::ResolveSingleFunctionTemplateSpecialization().
| const TemplateArgumentLoc* clang::ExplicitTemplateArgumentList::getTemplateArgs | ( | ) | const [inline] |
| TemplateArgumentLoc* clang::ExplicitTemplateArgumentList::getTemplateArgs | ( | ) | [inline] |
Retrieve the template arguments.
Definition at line 706 of file Expr.h.
Referenced by clang::ASTStmtWriter::AddExplicitTemplateArgumentList(), copyInto(), clang::UnresolvedMemberExpr::getTemplateArgs(), clang::CXXDependentScopeMemberExpr::getTemplateArgs(), clang::DependentScopeDeclRefExpr::getTemplateArgs(), clang::UnresolvedLookupExpr::getTemplateArgs(), clang::MemberExpr::getTemplateArgs(), clang::DeclRefExpr::getTemplateArgs(), and initializeFrom().
| void ExplicitTemplateArgumentList::initializeFrom | ( | const TemplateArgumentListInfo & | List, | |
| bool & | Dependent, | |||
| bool & | InstantiationDependent, | |||
| bool & | ContainsUnexpandedParameterPack | |||
| ) |
Definition at line 144 of file Expr.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), getTemplateArgs(), LAngleLoc, NumTemplateArgs, RAngleLoc, and clang::TemplateArgumentListInfo::size().
| void ExplicitTemplateArgumentList::initializeFrom | ( | const TemplateArgumentListInfo & | List | ) |
Definition at line 133 of file Expr.cpp.
References clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), getTemplateArgs(), LAngleLoc, NumTemplateArgs, RAngleLoc, and clang::TemplateArgumentListInfo::size().
Referenced by clang::MemberExpr::Create(), clang::CXXDependentScopeMemberExpr::initializeTemplateArgumentsFrom(), clang::OverloadExpr::OverloadExpr(), and clang::ASTStmtReader::ReadExplicitTemplateArgumentList().
| std::size_t ExplicitTemplateArgumentList::sizeFor | ( | const TemplateArgumentListInfo & | List | ) | [static] |
Definition at line 179 of file Expr.cpp.
References clang::TemplateArgumentListInfo::size(), and sizeFor().
| std::size_t ExplicitTemplateArgumentList::sizeFor | ( | unsigned | NumTemplateArgs | ) | [static] |
Definition at line 174 of file Expr.cpp.
Referenced by clang::UnresolvedMemberExpr::Create(), clang::CXXDependentScopeMemberExpr::Create(), clang::DependentScopeDeclRefExpr::Create(), clang::UnresolvedLookupExpr::Create(), clang::MemberExpr::Create(), clang::DeclRefExpr::Create(), clang::UnresolvedMemberExpr::CreateEmpty(), clang::CXXDependentScopeMemberExpr::CreateEmpty(), clang::DependentScopeDeclRefExpr::CreateEmpty(), clang::UnresolvedLookupExpr::CreateEmpty(), clang::DeclRefExpr::CreateEmpty(), and sizeFor().
The source location of the left angle bracket ('<');.
Definition at line 695 of file Expr.h.
Referenced by clang::ASTStmtWriter::AddExplicitTemplateArgumentList(), copyInto(), clang::UnresolvedMemberExpr::getLAngleLoc(), clang::CXXDependentScopeMemberExpr::getLAngleLoc(), clang::DependentScopeDeclRefExpr::getLAngleLoc(), clang::UnresolvedLookupExpr::getLAngleLoc(), clang::MemberExpr::getLAngleLoc(), clang::DeclRefExpr::getLAngleLoc(), and initializeFrom().
The number of template arguments in TemplateArgs. The actual template arguments (if any) are stored after the ExplicitTemplateArgumentList structure.
Definition at line 703 of file Expr.h.
Referenced by clang::ASTStmtWriter::AddExplicitTemplateArgumentList(), copyInto(), clang::UnresolvedMemberExpr::getNumTemplateArgs(), clang::CXXDependentScopeMemberExpr::getNumTemplateArgs(), clang::DependentScopeDeclRefExpr::getNumTemplateArgs(), clang::UnresolvedLookupExpr::getNumTemplateArgs(), clang::MemberExpr::getNumTemplateArgs(), clang::DeclRefExpr::getNumTemplateArgs(), and initializeFrom().
The source location of the right angle bracket ('>');.
Definition at line 698 of file Expr.h.
Referenced by clang::ASTStmtWriter::AddExplicitTemplateArgumentList(), copyInto(), clang::UnresolvedMemberExpr::getRAngleLoc(), clang::CXXDependentScopeMemberExpr::getRAngleLoc(), clang::DependentScopeDeclRefExpr::getRAngleLoc(), clang::UnresolvedLookupExpr::getRAngleLoc(), clang::MemberExpr::getRAngleLoc(), clang::DeclRefExpr::getRAngleLoc(), and initializeFrom().