class DependentFunctionTemplateSpecializationInfo
Declaration
class DependentFunctionTemplateSpecializationInfo
: private TrailingObjects { /* full declaration omitted */ };
Description
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:
Declared at: clang/include/clang/AST/DeclTemplate.h:693
Inherits from: TrailingObjects
Member Variables
- private unsigned int NumTemplates
- The number of potential template candidates.
- private unsigned int NumArgs
- The number of template arguments.
- private clang::SourceRange AngleLocs
- The locations of the left and right angle brackets.
Method Overview
- public static clang::DependentFunctionTemplateSpecializationInfo * Create(clang::ASTContext & Context, const clang::UnresolvedSetImpl & Templates, const clang::TemplateArgumentListInfo & TemplateArgs)
- private DependentFunctionTemplateSpecializationInfo(const clang::UnresolvedSetImpl & Templates, const clang::TemplateArgumentListInfo & TemplateArgs)
- public llvm::ArrayRef<TemplateArgumentLoc> arguments() const
- public clang::SourceLocation getLAngleLoc() const
- public unsigned int getNumTemplateArgs() const
- public unsigned int getNumTemplates() const
- public clang::SourceLocation getRAngleLoc() const
- public clang::FunctionTemplateDecl * getTemplate(unsigned int I) const
- public const clang::TemplateArgumentLoc & getTemplateArg(unsigned int I) const
- public const clang::TemplateArgumentLoc * getTemplateArgs() const
- private size_t numTrailingObjects(OverloadToken<clang::TemplateArgumentLoc>) const
- private size_t numTrailingObjects(OverloadToken<clang::FunctionTemplateDecl *>) const
Methods
¶static clang::
DependentFunctionTemplateSpecializationInfo*
Create(
clang::ASTContext& Context,
const clang::UnresolvedSetImpl& Templates,
const clang::TemplateArgumentListInfo&
TemplateArgs)
static clang::
DependentFunctionTemplateSpecializationInfo*
Create(
clang::ASTContext& Context,
const clang::UnresolvedSetImpl& Templates,
const clang::TemplateArgumentListInfo&
TemplateArgs)
Declared at: clang/include/clang/AST/DeclTemplate.h:721
Parameters
- clang::ASTContext& Context
- const clang::UnresolvedSetImpl& Templates
- const clang::TemplateArgumentListInfo& TemplateArgs
¶DependentFunctionTemplateSpecializationInfo(
const clang::UnresolvedSetImpl& Templates,
const clang::TemplateArgumentListInfo&
TemplateArgs)
DependentFunctionTemplateSpecializationInfo(
const clang::UnresolvedSetImpl& Templates,
const clang::TemplateArgumentListInfo&
TemplateArgs)
Declared at: clang/include/clang/AST/DeclTemplate.h:713
Parameters
- const clang::UnresolvedSetImpl& Templates
- const clang::TemplateArgumentListInfo& TemplateArgs
¶llvm::ArrayRef<TemplateArgumentLoc> arguments()
const
llvm::ArrayRef<TemplateArgumentLoc> arguments()
const
Declared at: clang/include/clang/AST/DeclTemplate.h:742
¶clang::SourceLocation getLAngleLoc() const
clang::SourceLocation getLAngleLoc() const
Declared at: clang/include/clang/AST/DeclTemplate.h:752
¶unsigned int getNumTemplateArgs() const
unsigned int getNumTemplateArgs() const
Description
Returns the number of explicit template arguments that were given.
Declared at: clang/include/clang/AST/DeclTemplate.h:740
¶unsigned int getNumTemplates() const
unsigned int getNumTemplates() const
Description
Returns the number of function templates that this might be a specialization of.
Declared at: clang/include/clang/AST/DeclTemplate.h:726
¶clang::SourceLocation getRAngleLoc() const
clang::SourceLocation getRAngleLoc() const
Declared at: clang/include/clang/AST/DeclTemplate.h:756
¶clang::FunctionTemplateDecl* getTemplate(
unsigned int I) const
clang::FunctionTemplateDecl* getTemplate(
unsigned int I) const
Description
Returns the i'th template candidate.
Declared at: clang/include/clang/AST/DeclTemplate.h:729
Parameters
- unsigned int I
¶const clang::TemplateArgumentLoc& getTemplateArg(
unsigned int I) const
const clang::TemplateArgumentLoc& getTemplateArg(
unsigned int I) const
Description
Returns the nth template argument.
Declared at: clang/include/clang/AST/DeclTemplate.h:747
Parameters
- unsigned int I
¶const clang::TemplateArgumentLoc*
getTemplateArgs() const
const clang::TemplateArgumentLoc*
getTemplateArgs() const
Description
Returns the explicit template arguments that were given.
Declared at: clang/include/clang/AST/DeclTemplate.h:735
¶size_t numTrailingObjects(
OverloadToken<clang::TemplateArgumentLoc>)
const
size_t numTrailingObjects(
OverloadToken<clang::TemplateArgumentLoc>)
const
Declared at: clang/include/clang/AST/DeclTemplate.h:706
Parameters
- OverloadToken<clang::TemplateArgumentLoc>
¶size_t numTrailingObjects(
OverloadToken<clang::FunctionTemplateDecl*>)
const
size_t numTrailingObjects(
OverloadToken<clang::FunctionTemplateDecl*>)
const
Declared at: clang/include/clang/AST/DeclTemplate.h:709
Parameters
- OverloadToken<clang::FunctionTemplateDecl*>