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)

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)

Declared at: clang/include/clang/AST/DeclTemplate.h:713

Parameters

const clang::UnresolvedSetImpl& Templates
const clang::TemplateArgumentListInfo& TemplateArgs

llvm::ArrayRef<TemplateArgumentLoc> arguments()
    const

Declared at: clang/include/clang/AST/DeclTemplate.h:742

clang::SourceLocation getLAngleLoc() const

Declared at: clang/include/clang/AST/DeclTemplate.h:752

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

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

Declared at: clang/include/clang/AST/DeclTemplate.h:756

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

Description

Returns the nth template argument.

Declared at: clang/include/clang/AST/DeclTemplate.h:747

Parameters

unsigned int I

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

Declared at: clang/include/clang/AST/DeclTemplate.h:706

Parameters

OverloadToken<clang::TemplateArgumentLoc>

size_t numTrailingObjects(
    OverloadToken<clang::FunctionTemplateDecl*>)
    const

Declared at: clang/include/clang/AST/DeclTemplate.h:709

Parameters

OverloadToken<clang::FunctionTemplateDecl*>