class TemplateParamObjectDecl

Declaration

class TemplateParamObjectDecl : public ValueDecl,
                                public Mergeable,
                                public Node { /* full declaration omitted */ };

Description

A template parameter object. Template parameter objects represent values of class type used as template arguments. There is one template parameter object for each such distinct value used as a template argument across the program.

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

Inherits from: ValueDecl, Mergeable, FoldingSetBase::Node

Member Variables

private clang::APValue Value
The value of this template parameter object.

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

  • private static clang::TemplateParamObjectDecl * Create(const clang::ASTContext & C, clang::QualType T, const clang::APValue & V)
  • private static clang::TemplateParamObjectDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
  • public static void Profile(llvm::FoldingSetNodeID & ID, clang::QualType T, const clang::APValue & V)
  • public void Profile(llvm::FoldingSetNodeID & ID)
  • private TemplateParamObjectDecl(clang::DeclContext * DC, clang::QualType T, const clang::APValue & V)
  • public static bool classof(const clang::Decl * D)
  • public static bool classofKind(clang::Decl::Kind K)
  • public clang::TemplateParamObjectDecl * getCanonicalDecl()
  • public const clang::TemplateParamObjectDecl * getCanonicalDecl() const
  • public const clang::APValue & getValue() const
  • public void printAsExpr(llvm::raw_ostream & OS) const
  • public void printAsExpr(llvm::raw_ostream & OS, const clang::PrintingPolicy & Policy) const
  • public void printAsInit(llvm::raw_ostream & OS) const
  • public void printAsInit(llvm::raw_ostream & OS, const clang::PrintingPolicy & Policy) const
  • public void printName(llvm::raw_ostream & OS) const

Inherited from FoldingSetBase::Node:

Inherited from ValueDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

static clang::TemplateParamObjectDecl* Create(
    const clang::ASTContext& C,
    clang::QualType T,
    const clang::APValue& V)

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

Parameters

const clang::ASTContext& C
clang::QualType T
const clang::APValue& V

static clang::TemplateParamObjectDecl*
CreateDeserialized(clang::ASTContext& C,
                   unsigned int ID)

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

Parameters

clang::ASTContext& C
unsigned int ID

static void Profile(llvm::FoldingSetNodeID& ID,
                    clang::QualType T,
                    const clang::APValue& V)

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

Parameters

llvm::FoldingSetNodeID& ID
clang::QualType T
const clang::APValue& V

void Profile(llvm::FoldingSetNodeID& ID)

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

Parameters

llvm::FoldingSetNodeID& ID

TemplateParamObjectDecl(clang::DeclContext* DC,
                        clang::QualType T,
                        const clang::APValue& V)

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

Parameters

clang::DeclContext* DC
clang::QualType T
const clang::APValue& V

static bool classof(const clang::Decl* D)

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

Parameters

const clang::Decl* D

static bool classofKind(clang::Decl::Kind K)

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

Parameters

clang::Decl::Kind K

clang::TemplateParamObjectDecl* getCanonicalDecl()

Description

Retrieves the "canonical" declaration of the given declaration.

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

const clang::TemplateParamObjectDecl*
getCanonicalDecl() const

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

const clang::APValue& getValue() const

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

void printAsExpr(llvm::raw_ostream& OS) const

Description

Print this object as an equivalent expression.

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

Parameters

llvm::raw_ostream& OS

void printAsExpr(
    llvm::raw_ostream& OS,
    const clang::PrintingPolicy& Policy) const

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

Parameters

llvm::raw_ostream& OS
const clang::PrintingPolicy& Policy

void printAsInit(llvm::raw_ostream& OS) const

Description

Print this object as an initializer suitable for a variable of the object's type.

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

Parameters

llvm::raw_ostream& OS

void printAsInit(
    llvm::raw_ostream& OS,
    const clang::PrintingPolicy& Policy) const

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

Parameters

llvm::raw_ostream& OS
const clang::PrintingPolicy& Policy

void printName(llvm::raw_ostream& OS) const

Description

Print this template parameter object in a human-readable format.

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

Parameters

llvm::raw_ostream& OS