ROOT  6.06/08
Reference Guide
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 42 of file TClingBaseClassInfo.h.

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

#include </builddir/build/BUILD/root-6.06.08/core/meta/src/TClingBaseClassInfo.h>

+ Collaboration diagram for TClingBaseClassInfo:

Constructor & Destructor Documentation

§ ~TClingBaseClassInfo()

TClingBaseClassInfo::~TClingBaseClassInfo ( )
inline

Definition at line 59 of file TClingBaseClassInfo.h.

§ TClingBaseClassInfo() [1/3]

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

Definition at line 57 of file TClingBaseClassInfo.cxx.

§ TClingBaseClassInfo() [2/3]

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

Definition at line 83 of file TClingBaseClassInfo.cxx.

§ TClingBaseClassInfo() [3/3]

TClingBaseClassInfo::TClingBaseClassInfo ( const TClingBaseClassInfo rhs)

Definition at line 118 of file TClingBaseClassInfo.cxx.

Member Function Documentation

§ FullName()

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

Definition at line 549 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_FullName().

§ GenerateBaseOffsetFunction()

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

Definition at line 158 of file TClingBaseClassInfo.cxx.

Referenced by Offset().

§ GetBase()

TClingClassInfo * TClingBaseClassInfo::GetBase ( ) const

§ InternalNext()

int TClingBaseClassInfo::InternalNext ( int  onlyDirect)

Definition at line 250 of file TClingBaseClassInfo.cxx.

Referenced by Next().

§ IsValid()

bool TClingBaseClassInfo::IsValid ( ) const

§ Name()

const char * TClingBaseClassInfo::Name ( ) const

§ Next() [1/2]

int TClingBaseClassInfo::Next ( )

§ Next() [2/2]

int TClingBaseClassInfo::Next ( int  onlyDirect)

Definition at line 340 of file TClingBaseClassInfo.cxx.

§ Offset()

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

§ operator=()

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

Definition at line 128 of file TClingBaseClassInfo.cxx.

§ Property()

long TClingBaseClassInfo::Property ( ) const

Definition at line 480 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_Property(), and Offset().

§ Tagnum()

long TClingBaseClassInfo::Tagnum ( ) const

Definition at line 541 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_Tagnum().

§ TmpltName()

const char * TClingBaseClassInfo::TmpltName ( ) const

Definition at line 566 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_TmpltName().

Member Data Documentation

§ fBaseInfo

TClingClassInfo* TClingBaseClassInfo::fBaseInfo
private

§ fClassInfo

TClingClassInfo* TClingBaseClassInfo::fClassInfo
private

§ fClassInfoOwnership

bool TClingBaseClassInfo::fClassInfoOwnership
private

Definition at line 55 of file TClingBaseClassInfo.h.

Referenced by operator=().

§ fDecl

const clang::Decl* TClingBaseClassInfo::fDecl
private

§ fDescend

bool TClingBaseClassInfo::fDescend
private

Definition at line 49 of file TClingBaseClassInfo.h.

Referenced by InternalNext(), and operator=().

§ fFirstTime

bool TClingBaseClassInfo::fFirstTime
private

Definition at line 48 of file TClingBaseClassInfo.h.

Referenced by InternalNext(), and operator=().

§ fInterp

cling::Interpreter* TClingBaseClassInfo::fInterp
private

Definition at line 46 of file TClingBaseClassInfo.h.

Referenced by GenerateBaseOffsetFunction(), InternalNext(), Offset(), and operator=().

§ fIter

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

Definition at line 51 of file TClingBaseClassInfo.h.

Referenced by InternalNext(), operator=(), and TClingBaseClassInfo().

§ fIterStack

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

Definition at line 53 of file TClingBaseClassInfo.h.

Referenced by InternalNext(), and operator=().

§ fOffset

long TClingBaseClassInfo::fOffset
private

Definition at line 54 of file TClingBaseClassInfo.h.

Referenced by InternalNext(), and operator=().


The documentation for this class was generated from the following files: