class Sema::InheritedConstructorInfo

Declaration

class Sema::InheritedConstructorInfo { /* full declaration omitted */ };

Declared at: clang/lib/Sema/SemaDeclCXX.cpp:7092

Member Variables

private clang::Sema& S
private clang::SourceLocation UseLoc
private llvm::DenseMap<CXXRecordDecl*, ConstructorUsingShadowDecl*> InheritedFromBases
A mapping from the base classes through which the constructor was inherited to the using shadow declaration in that base class (or a null pointer if the constructor was declared in that base class).

Method Overview

  • public InheritedConstructorInfo(clang::Sema & S, clang::SourceLocation UseLoc, clang::ConstructorUsingShadowDecl * Shadow)
  • public std::pair<CXXConstructorDecl *, bool> findConstructorForBase(clang::CXXRecordDecl * Base, clang::CXXConstructorDecl * Ctor) const

Methods

InheritedConstructorInfo(
    clang::Sema& S,
    clang::SourceLocation UseLoc,
    clang::ConstructorUsingShadowDecl* Shadow)

Declared at: clang/lib/Sema/SemaDeclCXX.cpp:7103

Parameters

clang::Sema& S
clang::SourceLocation UseLoc
clang::ConstructorUsingShadowDecl* Shadow

std::pair<CXXConstructorDecl*, bool>
findConstructorForBase(
    clang::CXXRecordDecl* Base,
    clang::CXXConstructorDecl* Ctor) const

Description

Find the constructor to use for inherited construction of a base class, and whether that base class constructor inherits the constructor from a virtual base class (in which case it won't actually invoke it).

Declared at: clang/lib/Sema/SemaDeclCXX.cpp:7157

Parameters

clang::CXXRecordDecl* Base
clang::CXXConstructorDecl* Ctor