ROOT  6.06/09
Reference Guide
Public Member Functions | Private Attributes | List of all members
TClingTypedefInfo Class Reference

Emulation of the CINT TypedefInfo class.

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

Definition at line 43 of file TClingTypedefInfo.h.

Public Member Functions

 TClingTypedefInfo (cling::Interpreter *interp)
 
 TClingTypedefInfo (cling::Interpreter *, const char *)
 Lookup named typedef and initialize the iterator to point to it. More...
 
 TClingTypedefInfo (cling::Interpreter *, const clang::TypedefNameDecl *)
 
const clang::Decl * GetDecl () const
 Get the current typedef declaration. More...
 
void Init (const char *name)
 Lookup named typedef and reset the iterator to point to it. More...
 
bool IsValid () const
 Return true if the current iterator position is valid. More...
 
int InternalNext ()
 Increment the iterator, return true if new position is valid. More...
 
int Next ()
 Increment the iterator. More...
 
long Property () const
 Return a bit mask of metadata about the current typedef. More...
 
int Size () const
 Return the size in bytes of the underlying type of the current typedef. More...
 
const char * TrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 Get the name of the underlying type of the current typedef. More...
 
const char * Name () const
 Get the name of the current typedef. More...
 
const char * Title ()
 

Private Attributes

cling::Interpreter * fInterp
 
bool fFirstTime
 
bool fDescend
 
clang::DeclContext::decl_iterator fIter
 
const clang::Decl * fDecl
 
std::vector< clang::DeclContext::decl_iterator > fIterStack
 
std::string fTitle
 

#include </mnt/vdb/lsf/workspace/root-makedoc-v606/rootspi/rdoc/src/v6-06-00-patches/core/meta/src/TClingTypedefInfo.h>

+ Collaboration diagram for TClingTypedefInfo:

Constructor & Destructor Documentation

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

Definition at line 57 of file TClingTypedefInfo.h.

TClingTypedefInfo::TClingTypedefInfo ( cling::Interpreter *  interp,
const char *  name 
)
explicit

Lookup named typedef and initialize the iterator to point to it.

Yields a non-iterable TClingTypedefInfo (fIter is invalid).

Definition at line 40 of file TClingTypedefInfo.cxx.

TClingTypedefInfo::TClingTypedefInfo ( cling::Interpreter *  interp,
const clang::TypedefNameDecl *  TdefD 
)
explicit

Definition at line 47 of file TClingTypedefInfo.cxx.

Member Function Documentation

const clang::Decl * TClingTypedefInfo::GetDecl ( ) const

Get the current typedef declaration.

Definition at line 59 of file TClingTypedefInfo.cxx.

Referenced by Title().

void TClingTypedefInfo::Init ( const char *  name)

Lookup named typedef and reset the iterator to point to it.

Definition at line 67 of file TClingTypedefInfo.cxx.

Referenced by TClingTypedefInfo(), and TCling::TypedefInfo_Init().

int TClingTypedefInfo::InternalNext ( )

Increment the iterator, return true if new position is valid.

Definition at line 119 of file TClingTypedefInfo.cxx.

Referenced by Next().

bool TClingTypedefInfo::IsValid ( ) const

Return true if the current iterator position is valid.

Definition at line 111 of file TClingTypedefInfo.cxx.

Referenced by Name(), Property(), Size(), Title(), TrueName(), and TCling::TypedefInfo_IsValid().

const char * TClingTypedefInfo::Name ( ) const

Get the name of the current typedef.

Definition at line 295 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_Name().

int TClingTypedefInfo::Next ( )

Increment the iterator.

Definition at line 188 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_Next().

long TClingTypedefInfo::Property ( ) const

Return a bit mask of metadata about the current typedef.

Definition at line 196 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_Property().

int TClingTypedefInfo::Size ( ) const

Return the size in bytes of the underlying type of the current typedef.

Definition at line 244 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_Size().

const char * TClingTypedefInfo::Title ( )

Definition at line 311 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_Title().

const char * TClingTypedefInfo::TrueName ( const ROOT::TMetaUtils::TNormalizedCtxt normCtxt) const

Get the name of the underlying type of the current typedef.

Definition at line 273 of file TClingTypedefInfo.cxx.

Referenced by TCling::TypedefInfo_TrueName().

Member Data Documentation

const clang::Decl* TClingTypedefInfo::fDecl
private

Definition at line 51 of file TClingTypedefInfo.h.

Referenced by GetDecl(), Init(), InternalNext(), IsValid(), Name(), Property(), Size(), and TrueName().

bool TClingTypedefInfo::fDescend
private

Definition at line 49 of file TClingTypedefInfo.h.

Referenced by Init(), and InternalNext().

bool TClingTypedefInfo::fFirstTime
private

Definition at line 48 of file TClingTypedefInfo.h.

Referenced by Init(), and InternalNext().

cling::Interpreter* TClingTypedefInfo::fInterp
private

Definition at line 47 of file TClingTypedefInfo.h.

Referenced by Init(), InternalNext(), Name(), and TrueName().

clang::DeclContext::decl_iterator TClingTypedefInfo::fIter
private

Definition at line 50 of file TClingTypedefInfo.h.

Referenced by Init(), and InternalNext().

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

Definition at line 52 of file TClingTypedefInfo.h.

Referenced by Init(), and InternalNext().

std::string TClingTypedefInfo::fTitle
private

Definition at line 53 of file TClingTypedefInfo.h.

Referenced by Title().


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