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 Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TClingDataMemberInfo Class Reference

Emulation of the CINT DataMemberInfo class.

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

Definition at line 53 of file TClingDataMemberInfo.h.

Public Types

typedef TDictionary::DeclId_t DeclId_t
 

Public Member Functions

 ~TClingDataMemberInfo ()
 
 TClingDataMemberInfo (cling::Interpreter *interp)
 
 TClingDataMemberInfo (cling::Interpreter *, TClingClassInfo *)
 
 TClingDataMemberInfo (cling::Interpreter *, const clang::ValueDecl *, TClingClassInfo *)
 
 TClingDataMemberInfo (const TClingDataMemberInfo &rhs)
 
TClingDataMemberInfooperator= (const TClingDataMemberInfo &rhs)
 
int ArrayDim () const
 
TClingClassInfoGetClassInfo () const
 
const clang::Decl * GetDecl () const
 
DeclId_t GetDeclId () const
 
bool IsValid () const
 
int MaxIndex (int dim) const
 
int InternalNext ()
 
bool Next ()
 
long Offset ()
 
long Property () const
 
long TypeProperty () const
 
int TypeSize () const
 
const char * TypeName () const
 
const char * TypeTrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 
const char * Name () const
 
const char * Title ()
 
llvm::StringRef ValidArrayIndex () const
 

Private Member Functions

void CheckForIoTypeAndName () const
 

Private Attributes

cling::Interpreter * fInterp
 
TClingClassInfofClassInfo
 
bool fFirstTime
 
clang::DeclContext::decl_iterator fIter
 
std::vector
< clang::DeclContext::decl_iterator > 
fIterStack
 
std::string fTitle
 
const clang::ValueDecl * fSingleDecl
 
llvm::SmallVector
< clang::DeclContext *, 2 > 
fContexts
 
unsigned int fContextIdx
 
std::string fIoType
 
std::string fIoName
 
union {
   float   fFloat
 
   double   fDouble
 
   long   fLong
 
fConstInitVal
 

#include </mnt/vdb/lsf/workspace/root-makedoc/rootspi/rdoc/src/master/core/meta/src/TClingDataMemberInfo.h>

Member Typedef Documentation

Definition at line 119 of file TClingDataMemberInfo.h.

Constructor & Destructor Documentation

TClingDataMemberInfo::~TClingDataMemberInfo ( )
inline

Definition at line 79 of file TClingDataMemberInfo.h.

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp)
inlineexplicit

Definition at line 81 of file TClingDataMemberInfo.h.

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

Definition at line 48 of file TClingDataMemberInfo.cxx.

TClingDataMemberInfo::TClingDataMemberInfo ( cling::Interpreter *  interp,
const clang::ValueDecl *  ValD,
TClingClassInfo ci 
)

Definition at line 78 of file TClingDataMemberInfo.cxx.

TClingDataMemberInfo::TClingDataMemberInfo ( const TClingDataMemberInfo rhs)
inline

Definition at line 96 of file TClingDataMemberInfo.h.

Member Function Documentation

int TClingDataMemberInfo::ArrayDim ( ) const

Definition at line 122 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_ArrayDim(), and MaxIndex().

void TClingDataMemberInfo::CheckForIoTypeAndName ( ) const
inlineprivate

Definition at line 96 of file TClingDataMemberInfo.cxx.

Referenced by Name(), TypeName(), and TypeTrueName().

TClingClassInfo* TClingDataMemberInfo::GetClassInfo ( ) const
inline

Definition at line 122 of file TClingDataMemberInfo.h.

const clang::Decl* TClingDataMemberInfo::GetDecl ( ) const
inline
TDictionary::DeclId_t TClingDataMemberInfo::GetDeclId ( ) const

Definition at line 114 of file TClingDataMemberInfo.cxx.

int TClingDataMemberInfo::InternalNext ( )

Definition at line 236 of file TClingDataMemberInfo.cxx.

Referenced by Next(), and TClingDataMemberInfo().

bool TClingDataMemberInfo::IsValid ( ) const
inline
int TClingDataMemberInfo::MaxIndex ( int  dim) const

Definition at line 169 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_MaxIndex().

const char * TClingDataMemberInfo::Name ( ) const

Definition at line 583 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_Name().

bool TClingDataMemberInfo::Next ( )
inline

Definition at line 128 of file TClingDataMemberInfo.h.

Referenced by TCling::DataMemberInfo_Next().

long TClingDataMemberInfo::Offset ( )

Definition at line 299 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_Offset().

TClingDataMemberInfo& TClingDataMemberInfo::operator= ( const TClingDataMemberInfo rhs)
inline

Definition at line 106 of file TClingDataMemberInfo.h.

long TClingDataMemberInfo::Property ( ) const

Definition at line 378 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_Property().

const char * TClingDataMemberInfo::Title ( )

Definition at line 606 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_Title().

const char * TClingDataMemberInfo::TypeName ( ) const

Definition at line 521 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_TypeName().

long TClingDataMemberInfo::TypeProperty ( ) const

Definition at line 487 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_TypeProperty().

int TClingDataMemberInfo::TypeSize ( ) const

Definition at line 497 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_TypeSize().

const char * TClingDataMemberInfo::TypeTrueName ( const ROOT::TMetaUtils::TNormalizedCtxt normCtxt) const

Definition at line 551 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_TypeTrueName().

llvm::StringRef TClingDataMemberInfo::ValidArrayIndex ( ) const

Definition at line 642 of file TClingDataMemberInfo.cxx.

Referenced by TCling::DataMemberInfo_ValidArrayIndex().

Member Data Documentation

TClingClassInfo* TClingDataMemberInfo::fClassInfo
private
union { ... } TClingDataMemberInfo::fConstInitVal

Referenced by Offset().

unsigned int TClingDataMemberInfo::fContextIdx
private

Definition at line 67 of file TClingDataMemberInfo.h.

Referenced by InternalNext().

llvm::SmallVector<clang::DeclContext *, 2> TClingDataMemberInfo::fContexts
private

Definition at line 65 of file TClingDataMemberInfo.h.

Referenced by InternalNext(), and TClingDataMemberInfo().

double TClingDataMemberInfo::fDouble

Definition at line 72 of file TClingDataMemberInfo.h.

bool TClingDataMemberInfo::fFirstTime
private

Definition at line 59 of file TClingDataMemberInfo.h.

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

float TClingDataMemberInfo::fFloat

Definition at line 71 of file TClingDataMemberInfo.h.

cling::Interpreter* TClingDataMemberInfo::fInterp
private
std::string TClingDataMemberInfo::fIoName
mutableprivate

Definition at line 69 of file TClingDataMemberInfo.h.

Referenced by CheckForIoTypeAndName(), and Name().

std::string TClingDataMemberInfo::fIoType
mutableprivate

Definition at line 68 of file TClingDataMemberInfo.h.

Referenced by CheckForIoTypeAndName(), TypeName(), and TypeTrueName().

clang::DeclContext::decl_iterator TClingDataMemberInfo::fIter
private

Definition at line 60 of file TClingDataMemberInfo.h.

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

std::vector<clang::DeclContext::decl_iterator> TClingDataMemberInfo::fIterStack
private

Definition at line 61 of file TClingDataMemberInfo.h.

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

long TClingDataMemberInfo::fLong

Definition at line 73 of file TClingDataMemberInfo.h.

const clang::ValueDecl* TClingDataMemberInfo::fSingleDecl
private

Definition at line 63 of file TClingDataMemberInfo.h.

Referenced by GetDecl(), InternalNext(), and TClingDataMemberInfo().

std::string TClingDataMemberInfo::fTitle
private

Definition at line 62 of file TClingDataMemberInfo.h.

Referenced by Title().

Collaboration diagram for TClingDataMemberInfo:
[legend]

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