class ConstructorUsingShadowDecl

Declaration

class ConstructorUsingShadowDecl : public UsingShadowDecl { /* full declaration omitted */ };

Description

Represents a shadow constructor declaration introduced into a class by a C++11 using-declaration that names a constructor. For example:

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

Inherits from: UsingShadowDecl

Member Variables

private clang::ConstructorUsingShadowDecl* NominatedBaseClassShadowDecl = nullptr
If this constructor using declaration inherted the constructor from an indirect base class, this is the ConstructorUsingShadowDecl in the named direct base class from which the declaration was inherited.
private clang::ConstructorUsingShadowDecl* ConstructedBaseClassShadowDecl = nullptr
If this constructor using declaration inherted the constructor from an indirect base class, this is the ConstructorUsingShadowDecl that will be used to construct the unique direct or virtual base class that receives the constructor arguments.
private unsigned int IsVirtual
\c true if the constructor ultimately named by this using shadow declaration is within a virtual base class subobject of the class that contains this declaration.

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

Inherited from UsingShadowDecl:

Inherited from NamedDecl:

Inherited from Decl:

Methods

ConstructorUsingShadowDecl(
    clang::ASTContext& C,
    clang::DeclContext* DC,
    clang::SourceLocation Loc,
    clang::UsingDecl* Using,
    clang::NamedDecl* Target,
    bool TargetInVirtualBase)

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

Parameters

clang::ASTContext& C
clang::DeclContext* DC
clang::SourceLocation Loc
clang::UsingDecl* Using
clang::NamedDecl* Target
bool TargetInVirtualBase

ConstructorUsingShadowDecl(
    clang::ASTContext& C,
    clang::Decl::EmptyShell Empty)

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

Parameters

clang::ASTContext& C
clang::Decl::EmptyShell Empty

static clang::ConstructorUsingShadowDecl* Create(
    clang::ASTContext& C,
    clang::DeclContext* DC,
    clang::SourceLocation Loc,
    clang::UsingDecl* Using,
    clang::NamedDecl* Target,
    bool IsVirtual)

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

Parameters

clang::ASTContext& C
clang::DeclContext* DC
clang::SourceLocation Loc
clang::UsingDecl* Using
clang::NamedDecl* Target
bool IsVirtual

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

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

Parameters

clang::ASTContext& C
unsigned int ID

void anchor()

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

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

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

Parameters

const clang::Decl* D

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

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

Parameters

clang::Decl::Kind K

bool constructsVirtualBase() const

Description

Returns \c true if the constructed base class is a virtual base class subobject of this declaration's class.

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

clang::CXXRecordDecl* getConstructedBaseClass()
    const

Description

Get the base class whose constructor or constructor shadow declaration is passed the constructor arguments.

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

clang::ConstructorUsingShadowDecl*
getConstructedBaseClassShadowDecl() const

Description

Get the inheriting constructor declaration for the base class for which we don't have an explicit initializer, if there is one.

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

clang::UsingDecl* getIntroducer() const

Description

Override the UsingShadowDecl's getIntroducer, returning the UsingDecl that introduced this.

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

clang::CXXRecordDecl* getNominatedBaseClass()
    const

Description

Get the base class that was named in the using declaration. This can be different for each redeclaration of this same shadow decl.

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

clang::ConstructorUsingShadowDecl*
getNominatedBaseClassShadowDecl() const

Description

Get the inheriting constructor declaration for the direct base class from which this using shadow declaration was inherited, if there is one. This can be different for each redeclaration of the same shadow decl.

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

const clang::CXXRecordDecl* getParent() const

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

clang::CXXRecordDecl* getParent()

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