Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TClingBaseClassInfo Class Reference

Emulation of the CINT BaseClassInfo class.

The CINT C++ interpreter provides an interface to metadata about the base classes of a class through the BaseClassInfo class. This class provides the same functionality, using an interface as close as possible to BaseClassInfo but the base class metadata comes from the Clang C++ compiler, not CINT.

Definition at line 43 of file TClingBaseClassInfo.h.

Public Member Functions

 TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *)
 
 TClingBaseClassInfo (cling::Interpreter *, TClingClassInfo *derived, TClingClassInfo *base)
 
 TClingBaseClassInfo (const TClingBaseClassInfo &)
 
 ~TClingBaseClassInfo ()
 
void FullName (std::string &output, const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 
TClingClassInfoGetBase () const
 
int InternalNext (int onlyDirect)
 
bool IsValid () const
 
const char * Name () const
 
int Next ()
 
int Next (int onlyDirect)
 
ptrdiff_t Offset (void *address=0, bool isDerivedObject=true) const
 
TClingBaseClassInfooperator= (const TClingBaseClassInfo &)
 
long Property () const
 
long Tagnum () const
 
const char * TmpltName () const
 

Private Member Functions

OffsetPtrFunc_t GenerateBaseOffsetFunction (TClingClassInfo *derivedClass, TClingClassInfo *targetClass, void *address, bool isDerivedObject) const
 

Private Attributes

TClingClassInfofBaseInfo
 
TClingClassInfofClassInfo
 
bool fClassInfoOwnership
 
const clang::Decl * fDecl
 
bool fDescend
 
bool fFirstTime
 
cling::Interpreter * fInterp
 
clang::CXXRecordDecl::base_class_const_iterator fIter
 
std::vector< std::pair< std::pair< const clang::Decl *, clang::CXXRecordDecl::base_class_const_iterator >, long > > fIterStack
 
long fOffset
 

#include </home/sftnight/build/workspace/root-makedoc-v624/rootspi/rdoc/src/v6-24-00-patches/core/metacling/src/TClingBaseClassInfo.h>

Constructor & Destructor Documentation

◆ ~TClingBaseClassInfo()

TClingBaseClassInfo::~TClingBaseClassInfo ( )
inline

Definition at line 60 of file TClingBaseClassInfo.h.

◆ TClingBaseClassInfo() [1/3]

TClingBaseClassInfo::TClingBaseClassInfo ( cling::Interpreter *  interp,
TClingClassInfo ci 
)

Definition at line 56 of file TClingBaseClassInfo.cxx.

◆ TClingBaseClassInfo() [2/3]

TClingBaseClassInfo::TClingBaseClassInfo ( cling::Interpreter *  interp,
TClingClassInfo derived,
TClingClassInfo base 
)

Definition at line 86 of file TClingBaseClassInfo.cxx.

◆ TClingBaseClassInfo() [3/3]

TClingBaseClassInfo::TClingBaseClassInfo ( const TClingBaseClassInfo rhs)

Definition at line 125 of file TClingBaseClassInfo.cxx.

Member Function Documentation

◆ FullName()

void TClingBaseClassInfo::FullName ( std::string &  output,
const ROOT::TMetaUtils::TNormalizedCtxt normCtxt 
) const

Definition at line 557 of file TClingBaseClassInfo.cxx.

◆ GenerateBaseOffsetFunction()

OffsetPtrFunc_t TClingBaseClassInfo::GenerateBaseOffsetFunction ( TClingClassInfo derivedClass,
TClingClassInfo targetClass,
void address,
bool  isDerivedObject 
) const
private

Definition at line 165 of file TClingBaseClassInfo.cxx.

◆ GetBase()

TClingClassInfo * TClingBaseClassInfo::GetBase ( ) const

Definition at line 156 of file TClingBaseClassInfo.cxx.

◆ InternalNext()

int TClingBaseClassInfo::InternalNext ( int  onlyDirect)

Definition at line 257 of file TClingBaseClassInfo.cxx.

◆ IsValid()

bool TClingBaseClassInfo::IsValid ( ) const

Definition at line 244 of file TClingBaseClassInfo.cxx.

◆ Name()

const char * TClingBaseClassInfo::Name ( ) const

Definition at line 566 of file TClingBaseClassInfo.cxx.

◆ Next() [1/2]

int TClingBaseClassInfo::Next ( )

Definition at line 353 of file TClingBaseClassInfo.cxx.

◆ Next() [2/2]

int TClingBaseClassInfo::Next ( int  onlyDirect)

Definition at line 348 of file TClingBaseClassInfo.cxx.

◆ Offset()

ptrdiff_t TClingBaseClassInfo::Offset ( void address = 0,
bool  isDerivedObject = true 
) const

Definition at line 411 of file TClingBaseClassInfo.cxx.

◆ operator=()

TClingBaseClassInfo & TClingBaseClassInfo::operator= ( const TClingBaseClassInfo rhs)

Definition at line 135 of file TClingBaseClassInfo.cxx.

◆ Property()

long TClingBaseClassInfo::Property ( ) const

Definition at line 488 of file TClingBaseClassInfo.cxx.

◆ Tagnum()

long TClingBaseClassInfo::Tagnum ( ) const

Definition at line 549 of file TClingBaseClassInfo.cxx.

◆ TmpltName()

const char * TClingBaseClassInfo::TmpltName ( ) const

Definition at line 574 of file TClingBaseClassInfo.cxx.

Member Data Documentation

◆ fBaseInfo

TClingClassInfo* TClingBaseClassInfo::fBaseInfo
private

Definition at line 53 of file TClingBaseClassInfo.h.

◆ fClassInfo

TClingClassInfo* TClingBaseClassInfo::fClassInfo
private

Definition at line 48 of file TClingBaseClassInfo.h.

◆ fClassInfoOwnership

bool TClingBaseClassInfo::fClassInfoOwnership
private

Definition at line 56 of file TClingBaseClassInfo.h.

◆ fDecl

const clang::Decl* TClingBaseClassInfo::fDecl
private

Definition at line 51 of file TClingBaseClassInfo.h.

◆ fDescend

bool TClingBaseClassInfo::fDescend
private

Definition at line 50 of file TClingBaseClassInfo.h.

◆ fFirstTime

bool TClingBaseClassInfo::fFirstTime
private

Definition at line 49 of file TClingBaseClassInfo.h.

◆ fInterp

cling::Interpreter* TClingBaseClassInfo::fInterp
private

Definition at line 47 of file TClingBaseClassInfo.h.

◆ fIter

clang::CXXRecordDecl::base_class_const_iterator TClingBaseClassInfo::fIter
private

Definition at line 52 of file TClingBaseClassInfo.h.

◆ fIterStack

std::vector<std::pair<std::pair<const clang::Decl*, clang::CXXRecordDecl::base_class_const_iterator>, long> > TClingBaseClassInfo::fIterStack
private

Definition at line 54 of file TClingBaseClassInfo.h.

◆ fOffset

long TClingBaseClassInfo::fOffset
private

Definition at line 55 of file TClingBaseClassInfo.h.

  • core/metacling/src/TClingBaseClassInfo.h
  • core/metacling/src/TClingBaseClassInfo.cxx