Logo ROOT   6.08/07
Reference Guide
List of all members | 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...
 
int InternalNext ()
 Increment the iterator, return true if new position is valid. More...
 
bool IsValid () const
 Return true if the current iterator position is valid. More...
 
const char * Name () const
 Get the name of the current typedef. 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 * Title ()
 
const char * TrueName (const ROOT::TMetaUtils::TNormalizedCtxt &normCtxt) const
 Get the name of the underlying type of the current typedef. More...
 

Private Attributes

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

#include </mnt/build/workspace/root-makedoc-v608/rootspi/rdoc/src/v6-08-00-patches/core/meta/src/TClingTypedefInfo.h>

Constructor & Destructor Documentation

◆ TClingTypedefInfo() [1/3]

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

Definition at line 57 of file TClingTypedefInfo.h.

◆ TClingTypedefInfo() [2/3]

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() [3/3]

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

Definition at line 47 of file TClingTypedefInfo.cxx.

Member Function Documentation

◆ GetDecl()

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

Get the current typedef declaration.

Definition at line 59 of file TClingTypedefInfo.cxx.

◆ Init()

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.

◆ InternalNext()

int TClingTypedefInfo::InternalNext ( )

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

Definition at line 119 of file TClingTypedefInfo.cxx.

◆ IsValid()

bool TClingTypedefInfo::IsValid ( ) const

Return true if the current iterator position is valid.

Definition at line 111 of file TClingTypedefInfo.cxx.

◆ Name()

const char * TClingTypedefInfo::Name ( ) const

Get the name of the current typedef.

Definition at line 299 of file TClingTypedefInfo.cxx.

◆ Next()

int TClingTypedefInfo::Next ( )

Increment the iterator.

Definition at line 188 of file TClingTypedefInfo.cxx.

◆ Property()

long TClingTypedefInfo::Property ( ) const

Return a bit mask of metadata about the current typedef.

Definition at line 196 of file TClingTypedefInfo.cxx.

◆ Size()

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.

◆ Title()

const char * TClingTypedefInfo::Title ( )

Definition at line 315 of file TClingTypedefInfo.cxx.

◆ TrueName()

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

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

Definition at line 277 of file TClingTypedefInfo.cxx.

Member Data Documentation

◆ fDecl

const clang::Decl* TClingTypedefInfo::fDecl
private

Definition at line 51 of file TClingTypedefInfo.h.

◆ fDescend

bool TClingTypedefInfo::fDescend
private

Definition at line 49 of file TClingTypedefInfo.h.

◆ fFirstTime

bool TClingTypedefInfo::fFirstTime
private

Definition at line 48 of file TClingTypedefInfo.h.

◆ fInterp

cling::Interpreter* TClingTypedefInfo::fInterp
private

Definition at line 47 of file TClingTypedefInfo.h.

◆ fIter

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

Definition at line 50 of file TClingTypedefInfo.h.

◆ fIterStack

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

Definition at line 52 of file TClingTypedefInfo.h.

◆ fTitle

std::string TClingTypedefInfo::fTitle
private

Definition at line 53 of file TClingTypedefInfo.h.


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