clang API Documentation
Provides information about a dependent function-template specialization declaration. More...
#include <DeclTemplate.h>
Classes | |
struct | CA |
Public Member Functions | |
DependentFunctionTemplateSpecializationInfo (const UnresolvedSetImpl &Templates, const TemplateArgumentListInfo &TemplateArgs) | |
unsigned | getNumTemplates () const |
Returns the number of function templates that this might be a specialization of. | |
FunctionTemplateDecl * | getTemplate (unsigned I) const |
Returns the i'th template candidate. | |
const TemplateArgumentLoc * | getTemplateArgs () const |
Returns the explicit template arguments that were given. | |
unsigned | getNumTemplateArgs () const |
Returns the number of explicit template arguments that were given. | |
const TemplateArgumentLoc & | getTemplateArg (unsigned I) const |
Returns the nth template argument. | |
SourceLocation | getLAngleLoc () const |
SourceLocation | getRAngleLoc () const |
Provides information about a dependent function-template specialization declaration.
Since explicit function template specialization and instantiation declarations can only appear in namespace scope, and you can only specialize a member of a fully-specialized class, the only way to get one of these is in a friend declaration like the following:
template \<class T> void foo(T); template \<class T> class A { friend void foo<>(T); };
Definition at line 463 of file DeclTemplate.h.
DependentFunctionTemplateSpecializationInfo::DependentFunctionTemplateSpecializationInfo | ( | const UnresolvedSetImpl & | Templates, |
const TemplateArgumentListInfo & | TemplateArgs | ||
) |
Definition at line 3073 of file Decl.cpp.
References d, getTemplateArgs(), clang::UnresolvedSetImpl::size(), and clang::TemplateArgumentListInfo::size().
SourceLocation clang::DependentFunctionTemplateSpecializationInfo::getLAngleLoc | ( | ) | const [inline] |
Definition at line 520 of file DeclTemplate.h.
References clang::SourceRange::getBegin().
Referenced by clang::ASTDeclWriter::VisitFunctionDecl().
unsigned clang::DependentFunctionTemplateSpecializationInfo::getNumTemplateArgs | ( | ) | const [inline] |
Returns the number of explicit template arguments that were given.
Definition at line 510 of file DeclTemplate.h.
References d.
Referenced by getTemplateArg(), and clang::ASTDeclWriter::VisitFunctionDecl().
unsigned clang::DependentFunctionTemplateSpecializationInfo::getNumTemplates | ( | ) | const [inline] |
Returns the number of function templates that this might be a specialization of.
Definition at line 493 of file DeclTemplate.h.
References d.
Referenced by getTemplate(), getTemplateArgs(), and clang::ASTDeclWriter::VisitFunctionDecl().
SourceLocation clang::DependentFunctionTemplateSpecializationInfo::getRAngleLoc | ( | ) | const [inline] |
Definition at line 524 of file DeclTemplate.h.
References clang::SourceRange::getEnd().
Referenced by clang::ASTDeclWriter::VisitFunctionDecl().
FunctionTemplateDecl* clang::DependentFunctionTemplateSpecializationInfo::getTemplate | ( | unsigned | I | ) | const [inline] |
Returns the i'th template candidate.
Definition at line 498 of file DeclTemplate.h.
References getNumTemplates().
Referenced by clang::ASTDeclWriter::VisitFunctionDecl().
const TemplateArgumentLoc& clang::DependentFunctionTemplateSpecializationInfo::getTemplateArg | ( | unsigned | I | ) | const [inline] |
Returns the nth template argument.
Definition at line 515 of file DeclTemplate.h.
References getNumTemplateArgs(), and getTemplateArgs().
Referenced by clang::ASTDeclWriter::VisitFunctionDecl().
const TemplateArgumentLoc* clang::DependentFunctionTemplateSpecializationInfo::getTemplateArgs | ( | ) | const [inline] |
Returns the explicit template arguments that were given.
Definition at line 504 of file DeclTemplate.h.
References getNumTemplates().
Referenced by DependentFunctionTemplateSpecializationInfo(), and getTemplateArg().
Definition at line 475 of file DeclTemplate.h.
Definition at line 476 of file DeclTemplate.h.
Referenced by DependentFunctionTemplateSpecializationInfo(), getNumTemplateArgs(), and getNumTemplates().