class CXXConversionDecl

Declaration

class CXXConversionDecl : public CXXMethodDecl { /* full declaration omitted */ };

Description

Represents a C++ conversion function within a class. For example:

Declared at: clang/include/clang/AST/DeclCXX.h:2764

Inherits from: CXXMethodDecl

Member Variables

private clang::ExplicitSpecifier ExplicitSpec

Inherited from DeclContext:

protected
protected FirstDecl = nullptr
protected LastDecl = nullptr

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

  • private CXXConversionDecl(clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, bool UsesFPIntrin, bool isInline, clang::ExplicitSpecifier ES, clang::ConstexprSpecKind ConstexprKind, clang::SourceLocation EndLocation, clang::Expr * TrailingRequiresClause = nullptr)
  • public static clang::CXXConversionDecl * Create(clang::ASTContext & C, clang::CXXRecordDecl * RD, clang::SourceLocation StartLoc, const clang::DeclarationNameInfo & NameInfo, clang::QualType T, clang::TypeSourceInfo * TInfo, bool UsesFPIntrin, bool isInline, clang::ExplicitSpecifier ES, clang::ConstexprSpecKind ConstexprKind, clang::SourceLocation EndLocation, clang::Expr * TrailingRequiresClause = nullptr)
  • public static clang::CXXConversionDecl * CreateDeserialized(clang::ASTContext & C, unsigned int ID)
  • private void anchor()
  • public static bool classof(const clang::Decl * D)
  • public static bool classofKind(clang::Decl::Kind K)
  • public clang::CXXConversionDecl * getCanonicalDecl()
  • public const clang::CXXConversionDecl * getCanonicalDecl() const
  • public clang::QualType getConversionType() const
  • public clang::ExplicitSpecifier getExplicitSpecifier()
  • public const clang::ExplicitSpecifier getExplicitSpecifier() const
  • public bool isExplicit() const
  • public bool isLambdaToBlockPointerConversion() const
  • public void setExplicitSpecifier(clang::ExplicitSpecifier ES)

Inherited from CXXMethodDecl:

Inherited from FunctionDecl:

Inherited from DeclContext:

Inherited from DeclaratorDecl:

Inherited from ValueDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

CXXConversionDecl(
    clang::ASTContext& C,
    clang::CXXRecordDecl* RD,
    clang::SourceLocation StartLoc,
    const clang::DeclarationNameInfo& NameInfo,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo,
    bool UsesFPIntrin,
    bool isInline,
    clang::ExplicitSpecifier ES,
    clang::ConstexprSpecKind ConstexprKind,
    clang::SourceLocation EndLocation,
    clang::Expr* TrailingRequiresClause = nullptr)

Declared at: clang/include/clang/AST/DeclCXX.h:2765

Parameters

clang::ASTContext& C
clang::CXXRecordDecl* RD
clang::SourceLocation StartLoc
const clang::DeclarationNameInfo& NameInfo
clang::QualType T
clang::TypeSourceInfo* TInfo
bool UsesFPIntrin
bool isInline
clang::ExplicitSpecifier ES
clang::ConstexprSpecKind ConstexprKind
clang::SourceLocation EndLocation
clang::Expr* TrailingRequiresClause = nullptr

static clang::CXXConversionDecl* Create(
    clang::ASTContext& C,
    clang::CXXRecordDecl* RD,
    clang::SourceLocation StartLoc,
    const clang::DeclarationNameInfo& NameInfo,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo,
    bool UsesFPIntrin,
    bool isInline,
    clang::ExplicitSpecifier ES,
    clang::ConstexprSpecKind ConstexprKind,
    clang::SourceLocation EndLocation,
    clang::Expr* TrailingRequiresClause = nullptr)

Declared at: clang/include/clang/AST/DeclCXX.h:2784

Parameters

clang::ASTContext& C
clang::CXXRecordDecl* RD
clang::SourceLocation StartLoc
const clang::DeclarationNameInfo& NameInfo
clang::QualType T
clang::TypeSourceInfo* TInfo
bool UsesFPIntrin
bool isInline
clang::ExplicitSpecifier ES
clang::ConstexprSpecKind ConstexprKind
clang::SourceLocation EndLocation
clang::Expr* TrailingRequiresClause = nullptr

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

Declared at: clang/include/clang/AST/DeclCXX.h:2789

Parameters

clang::ASTContext& C
unsigned int ID

void anchor()

Declared at: clang/include/clang/AST/DeclCXX.h:2775

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

Declared at: clang/include/clang/AST/DeclCXX.h:2820

Parameters

const clang::Decl* D

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

Declared at: clang/include/clang/AST/DeclCXX.h:2821

Parameters

clang::Decl::Kind K

clang::CXXConversionDecl* getCanonicalDecl()

Description

Retrieves the "canonical" declaration of the given declaration.

Declared at: clang/include/clang/AST/DeclCXX.h:2812

const clang::CXXConversionDecl* getCanonicalDecl()
    const

Declared at: clang/include/clang/AST/DeclCXX.h:2815

clang::QualType getConversionType() const

Description

Returns the type that this conversion function is converting to.

Declared at: clang/include/clang/AST/DeclCXX.h:2804

clang::ExplicitSpecifier getExplicitSpecifier()

Declared at: clang/include/clang/AST/DeclCXX.h:2791

const clang::ExplicitSpecifier
getExplicitSpecifier() const

Declared at: clang/include/clang/AST/DeclCXX.h:2795

bool isExplicit() const

Description

Return true if the declartion is already resolved to be explicit.

Declared at: clang/include/clang/AST/DeclCXX.h:2800

bool isLambdaToBlockPointerConversion() const

Description

Determine whether this conversion function is a conversion from a lambda closure type to a block pointer.

Declared at: clang/include/clang/AST/DeclCXX.h:2810

void setExplicitSpecifier(
    clang::ExplicitSpecifier ES)

Declared at: clang/include/clang/AST/DeclCXX.h:2801

Parameters

clang::ExplicitSpecifier ES