ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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 </mnt/vdb/lsf/workspace/root-makedoc/rootspi/rdoc/src/master/core/meta/src/TClingBaseClassInfo.h>

Constructor & Destructor Documentation

TClingBaseClassInfo::~TClingBaseClassInfo ( )
inline

Definition at line 59 of file TClingBaseClassInfo.h.

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

Definition at line 57 of file TClingBaseClassInfo.cxx.

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

Definition at line 83 of file TClingBaseClassInfo.cxx.

TClingBaseClassInfo::TClingBaseClassInfo ( const TClingBaseClassInfo rhs)

Definition at line 118 of file TClingBaseClassInfo.cxx.

Member Function Documentation

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().

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().

TClingClassInfo * TClingBaseClassInfo::GetBase ( ) const
int TClingBaseClassInfo::InternalNext ( int  onlyDirect)

Definition at line 250 of file TClingBaseClassInfo.cxx.

Referenced by Next().

bool TClingBaseClassInfo::IsValid ( ) const
const char * TClingBaseClassInfo::Name ( ) const
int TClingBaseClassInfo::Next ( )
int TClingBaseClassInfo::Next ( int  onlyDirect)

Definition at line 340 of file TClingBaseClassInfo.cxx.

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

Definition at line 128 of file TClingBaseClassInfo.cxx.

long TClingBaseClassInfo::Property ( ) const

Definition at line 480 of file TClingBaseClassInfo.cxx.

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

long TClingBaseClassInfo::Tagnum ( ) const

Definition at line 541 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_Tagnum().

const char * TClingBaseClassInfo::TmpltName ( ) const

Definition at line 566 of file TClingBaseClassInfo.cxx.

Referenced by TCling::BaseClassInfo_TmpltName().

Member Data Documentation

TClingClassInfo* TClingBaseClassInfo::fBaseInfo
private
TClingClassInfo* TClingBaseClassInfo::fClassInfo
private
bool TClingBaseClassInfo::fClassInfoOwnership
private

Definition at line 55 of file TClingBaseClassInfo.h.

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

const clang::Decl* TClingBaseClassInfo::fDecl
private
bool TClingBaseClassInfo::fDescend
private

Definition at line 49 of file TClingBaseClassInfo.h.

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

bool TClingBaseClassInfo::fFirstTime
private

Definition at line 48 of file TClingBaseClassInfo.h.

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

cling::Interpreter* TClingBaseClassInfo::fInterp
private

Definition at line 46 of file TClingBaseClassInfo.h.

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

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

Definition at line 51 of file TClingBaseClassInfo.h.

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

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=().

long TClingBaseClassInfo::fOffset
private

Definition at line 54 of file TClingBaseClassInfo.h.

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

Collaboration diagram for TClingBaseClassInfo:
[legend]

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