Logo ROOT  
Reference Guide
 
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 >, ptrdiff_t > > fIterStack
 
ptrdiff_t fOffset
 

#include </home/sftnight/build/workspace/root-makedoc-v632/rootspi/rdoc/src/v6-32-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 561 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 570 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 553 of file TClingBaseClassInfo.cxx.

◆ TmpltName()

const char * TClingBaseClassInfo::TmpltName ( ) const

Definition at line 578 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>, ptrdiff_t> > TClingBaseClassInfo::fIterStack
private

Definition at line 54 of file TClingBaseClassInfo.h.

◆ fOffset

ptrdiff_t TClingBaseClassInfo::fOffset
private

Definition at line 55 of file TClingBaseClassInfo.h.

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