clang 17.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::DependentFunctionTemplateSpecializationInfo Class Referencefinal

Provides information about a dependent function-template specialization declaration. More...

#include "clang/AST/DeclTemplate.h"

Inheritance diagram for clang::DependentFunctionTemplateSpecializationInfo:
Inheritance graph
[legend]

Public Member Functions

unsigned getNumTemplates () const
 Returns the number of function templates that this might be a specialization of.
 
FunctionTemplateDeclgetTemplate (unsigned I) const
 Returns the i'th template candidate.
 
const TemplateArgumentLocgetTemplateArgs () const
 Returns the explicit template arguments that were given.
 
unsigned getNumTemplateArgs () const
 Returns the number of explicit template arguments that were given.
 
llvm::ArrayRef< TemplateArgumentLocarguments () const
 
const TemplateArgumentLocgetTemplateArg (unsigned I) const
 Returns the nth template argument.
 
SourceLocation getLAngleLoc () const
 
SourceLocation getRAngleLoc () const
 

Static Public Member Functions

static DependentFunctionTemplateSpecializationInfoCreate (ASTContext &Context, const UnresolvedSetImpl &Templates, const TemplateArgumentListInfo &TemplateArgs)
 

Public Attributes

friend TrailingObjects
 

Detailed 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:

template \<class T> void foo(T);
template \<class T> class A {
friend void foo<>(T);
};

Definition at line 695 of file DeclTemplate.h.

Member Function Documentation

◆ arguments()

llvm::ArrayRef< TemplateArgumentLoc > clang::DependentFunctionTemplateSpecializationInfo::arguments ( ) const
inline

Definition at line 744 of file DeclTemplate.h.

References getNumTemplateArgs(), and getTemplateArgs().

◆ Create()

DependentFunctionTemplateSpecializationInfo * DependentFunctionTemplateSpecializationInfo::Create ( ASTContext Context,
const UnresolvedSetImpl Templates,
const TemplateArgumentListInfo TemplateArgs 
)
static

◆ getLAngleLoc()

SourceLocation clang::DependentFunctionTemplateSpecializationInfo::getLAngleLoc ( ) const
inline

Definition at line 754 of file DeclTemplate.h.

References clang::SourceRange::getBegin().

Referenced by clang::ASTDeclWriter::VisitFunctionDecl().

◆ getNumTemplateArgs()

unsigned clang::DependentFunctionTemplateSpecializationInfo::getNumTemplateArgs ( ) const
inline

Returns the number of explicit template arguments that were given.

Definition at line 742 of file DeclTemplate.h.

Referenced by arguments(), getTemplateArg(), and clang::ASTDeclWriter::VisitFunctionDecl().

◆ getNumTemplates()

unsigned clang::DependentFunctionTemplateSpecializationInfo::getNumTemplates ( ) const
inline

Returns the number of function templates that this might be a specialization of.

Definition at line 728 of file DeclTemplate.h.

Referenced by getTemplate(), and clang::ASTDeclWriter::VisitFunctionDecl().

◆ getRAngleLoc()

SourceLocation clang::DependentFunctionTemplateSpecializationInfo::getRAngleLoc ( ) const
inline

Definition at line 758 of file DeclTemplate.h.

References clang::SourceRange::getEnd().

Referenced by clang::ASTDeclWriter::VisitFunctionDecl().

◆ getTemplate()

FunctionTemplateDecl * clang::DependentFunctionTemplateSpecializationInfo::getTemplate ( unsigned  I) const
inline

Returns the i'th template candidate.

Definition at line 731 of file DeclTemplate.h.

References getNumTemplates().

Referenced by clang::ASTDeclWriter::VisitFunctionDecl().

◆ getTemplateArg()

const TemplateArgumentLoc & clang::DependentFunctionTemplateSpecializationInfo::getTemplateArg ( unsigned  I) const
inline

Returns the nth template argument.

Definition at line 749 of file DeclTemplate.h.

References getNumTemplateArgs(), and getTemplateArgs().

Referenced by clang::ASTDeclWriter::VisitFunctionDecl().

◆ getTemplateArgs()

const TemplateArgumentLoc * clang::DependentFunctionTemplateSpecializationInfo::getTemplateArgs ( ) const
inline

Returns the explicit template arguments that were given.

Definition at line 737 of file DeclTemplate.h.

Referenced by arguments(), and getTemplateArg().

Member Data Documentation

◆ TrailingObjects

friend clang::DependentFunctionTemplateSpecializationInfo::TrailingObjects

Definition at line 720 of file DeclTemplate.h.


The documentation for this class was generated from the following files: