class TCint: public TInterpreter


This class defines an interface to the CINT C/C++ interpreter made
by Masaharu Goto from HP Japan.

CINT is an almost full ANSI compliant C/C++ interpreter.


Function Members (Methods)

public:
TCint(const char* name, const char* title)
virtual~TCint()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddIncludePath(const char* path)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual Int_tAutoLoad(const char* classname)
static intAutoLoadCallback(const char* cls, const char* lib)
virtual voidTObject::Browse(TBrowser* b)
virtual Long_tCalc(const char* line, TInterpreter::EErrorCode* error = 0)
virtual Bool_tCheckClassInfo(const char* name)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidClearFileBusy()
virtual voidClearStack()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidCreateListOfBaseClasses(TClass* cl)
virtual voidCreateListOfDataMembers(TClass* cl)
virtual voidCreateListOfMethodArgs(TFunction* m)
virtual voidCreateListOfMethods(TClass* cl)
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tDeleteGlobal(void* obj)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual voidEnableAutoLoading()
virtual voidEndOfLineAction()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidExecute(const char* function, const char* params, int* error = 0)
virtual voidExecute(TObject* obj, TClass* cl, const char* method, const char* params, int* error = 0)
virtual voidExecute(TObject* obj, TClass* cl, TMethod* method, TObjArray* params, int* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual Long_tExecuteMacro(const char* filename, TInterpreter::EErrorCode* error = 0)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static void*FindSpecialObject(const char* name, Cint::G__ClassInfo* type, void** prevObj, void** assocPtr)
virtual const char*GetClassSharedLibs(const char* cls)
static const char*GetCurrentMacroName()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetExitCode() const
virtual const char*TObject::GetIconName() const
virtual const char*GetIncludePath()
virtual void*GetInterfaceMethod(TClass* cl, const char* method, const char* params)
virtual void*GetInterfaceMethodWithPrototype(TClass* cl, const char* method, const char* proto)
virtual const char*GetInterpreterTypeName(const char* name, Bool_t full = kFALSE)
virtual TStringGetMangledName(TClass* cl, const char* method, const char* params)
virtual TStringGetMangledNameWithPrototype(TClass* cl, const char* method, const char* proto)
virtual TEnv*GetMapfile() const
virtual Int_tGetMore() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual char*GetPrompt()
virtual TObjArray*GetRootMapFiles() const
virtual const char*GetSharedLibDeps(const char* lib)
virtual const char*GetSharedLibs()
virtual const char*TNamed::GetTitle() const
static const char*GetTopLevelMacroName()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Int_tInitializeDictionaries()
virtual voidTObject::Inspect() const
static TInterpreter*&TInterpreter::Instance()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsErrorMessagesEnabled() const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsLoaded(const char* filename) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsProcessLineLocked() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Int_tLoad(const char* filenam, Bool_t system = kFALSE)
virtual Int_tLoadLibraryMap(const char* rootmapfile = 0)
virtual voidLoadMacro(const char* filename, TInterpreter::EErrorCode* error = 0)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidPrintIntro()
virtual Long_tProcessLine(const char* line, TInterpreter::EErrorCode* error = 0)
Long_tProcessLineAsynch(const char* line, TInterpreter::EErrorCode* error = 0)
virtual Long_tProcessLineSynch(const char* line, TInterpreter::EErrorCode* error = 0)
virtual Int_tTObject::Read(const char* name)
virtual voidRecursiveRemove(TObject* obj)
virtual voidReset()
virtual voidResetAll()
voidTObject::ResetBit(UInt_t f)
virtual voidResetGlobals()
virtual voidRewindDictionary()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidSaveContext()
virtual voidSaveGlobalsContext()
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetClassInfo(TClass* cl, Bool_t reload = kFALSE)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual Bool_tSetErrorMessages(Bool_t enable = kTRUE)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetProcessLineLock(Bool_t lock = kTRUE)
virtual voidTNamed::SetTitle(const char* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual const char*TypeName(const char* typeDesc)
virtual Int_tUnloadLibraryMap(const char* library)
static voidUpdateAllCanvases()
static voidUpdateClassInfo(char* name, Long_t tagnum)
static voidUpdateClassInfoWork(const char* name, Long_t tagnum)
virtual voidUpdateListOfGlobalFunctions()
virtual voidUpdateListOfGlobals()
virtual voidUpdateListOfTypes()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TCint()
TCint(const TCint&)
virtual voidExecute(TMethod*, TObjArray*, int* = 0)
TCint&operator=(const TCint&)

Data Members

public:
enum TInterpreter::EErrorCode { kNoError
kRecoverable
kDangerous
kFatal
kProcessing
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
G__dictpositionfDictPosCINT dictionary context after init
G__dictpositionfDictPosGlobalsCINT dictionary context after ResetGlobals()
Int_tfExitCodevalue passed to exit() in interpreter
TStringfIncludePathhold a list of lib include path
Bool_tfLockProcessLinetrue if ProcessLine should lock gCINTMutex
TEnv*fMapfilemap of classes and libraries
Int_tfMore1 if more input is required
charfPrompt[64]proposed prompt string
TObjArray*fRootMapFileslist of non-default rootmap files loaded
TStringfSharedLibshold a list of lib loaded by G__loadfile
static void*fgSetOfSpecialsset of TObject*s used in CINT variables

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TCint(const char* name, const char* title)
 Initialize the CINT interpreter interface.
~TCint()
 Destroy the CINT interpreter interface.
void ClearFileBusy()
 Reset CINT internal state in case a previous action was not correctly
 terminated by G__init_cint() and G__dlmod().
void ClearStack()
 Delete existing temporary values
Int_t InitializeDictionaries()
 Initialize all registered dictionaries. Normally this is already done
 by G__init_cint() and G__dlmod().
void EnableAutoLoading()
 Enable the automatic loading of shared libraries when a class
 is used that is stored in a not yet loaded library. Uses the
 information stored in the class/library map (typically
 $ROOTSYS/etc/system.rootmap).
void EndOfLineAction()
 It calls a "fantom" method to synchronize user keyboard input
 and ROOT prompt line.
Bool_t IsLoaded(const char* filename) const
 Return true if the file has already been loaded by cint.
Int_t Load(const char* filenam, Bool_t system = kFALSE)
 Load a library file in CINT's memory.
 if 'system' is true, the library is never unloaded.
void LoadMacro(const char* filename, TInterpreter::EErrorCode* error = 0)
 Load a macro file in CINT's memory.
Long_t ProcessLine(const char* line, TInterpreter::EErrorCode* error = 0)
 Let CINT process a command line.
 If the command is executed and the result of G__process_cmd is 0,
 the return value is the int value corresponding to the result of the command
 (float and double return values will be truncated).
Long_t ProcessLineAsynch(const char* line, TInterpreter::EErrorCode* error = 0)
 Let CINT process a command line asynch.
Long_t ProcessLineSynch(const char* line, TInterpreter::EErrorCode* error = 0)
 Let CINT process a command line synchronously, i.e we are waiting
 it will be finished.
Long_t Calc(const char* line, TInterpreter::EErrorCode* error = 0)
 Directly execute an executable statement (e.g. "func()", "3+5", etc.
 however not declarations, like "Int_t x;").
void PrintIntro()
 Print CINT introduction and help message.
void RecursiveRemove(TObject* obj)
 Delete object from CINT symbol table so it can not be used anymore.
 CINT objects are always on the heap.
void Reset()
 Reset the CINT state to the state saved by the last call to
 TCint::SaveContext().
void ResetAll()
 Reset the CINT state to its initial state.
void ResetGlobals()
 Reset the CINT global object state to the state saved by the last
 call to TCint::SaveGlobalsContext().
void RewindDictionary()
 Rewind CINT dictionary to the point where it was before executing
 the current macro. This function is typically called after SEGV or
 ctlr-C after doing a longjmp back to the prompt.
Int_t DeleteGlobal(void* obj)
 Delete obj from CINT symbol table so it cannot be accessed anymore.
 Returns 1 in case of success and 0 in case object was not in table.
void SaveContext()
 Save the current CINT state.
void SaveGlobalsContext()
 Save the current CINT state of global objects.
void UpdateListOfGlobals()
 Update the list of pointers to global variables. This function
 is called by TROOT::GetListOfGlobals().
void UpdateListOfGlobalFunctions()
 Update the list of pointers to global functions. This function
 is called by TROOT::GetListOfGlobalFunctions().
void UpdateListOfTypes()
 Update the list of pointers to Datatype (typedef) definitions. This
 function is called by TROOT::GetListOfTypes().
void SetClassInfo(TClass* cl, Bool_t reload = kFALSE)
 Set pointer to CINT's G__ClassInfo in TClass.
Bool_t CheckClassInfo(const char* name)
 Checks if a class with the specified name is defined in CINT.
 Returns kFALSE is class is not defined.
void CreateListOfBaseClasses(TClass* cl)
 Create list of pointers to base class(es) for TClass cl.
void CreateListOfDataMembers(TClass* cl)
 Create list of pointers to data members for TClass cl.
void CreateListOfMethods(TClass* cl)
 Create list of pointers to methods for TClass cl.
void CreateListOfMethodArgs(TFunction* m)
 Create list of pointers to method arguments for TMethod m.
TString GetMangledName(TClass* cl, const char* method, const char* params)
 Return the CINT mangled name for a method of a class with parameters
 params (params is a string of actual arguments, not formal ones). If the
 class is 0 the global function list will be searched.
TString GetMangledNameWithPrototype(TClass* cl, const char* method, const char* proto)
 Return the CINT mangled name for a method of a class with a certain
 prototype, i.e. "char*,int,float". If the class is 0 the global function
 list will be searched.
void * GetInterfaceMethod(TClass* cl, const char* method, const char* params)
 Return pointer to CINT interface function for a method of a class with
 parameters params (params is a string of actual arguments, not formal
 ones). If the class is 0 the global function list will be searched.
void * GetInterfaceMethodWithPrototype(TClass* cl, const char* method, const char* proto)
 Return pointer to CINT interface function for a method of a class with
 a certain prototype, i.e. "char*,int,float". If the class is 0 the global
 function list will be searched.
const char * GetInterpreterTypeName(const char* name, Bool_t full = kFALSE)
 The 'name' is known to the interpreter, this function returns
 the internal version of this name (usually just resolving typedefs)
 This is used in particular to synchronize between the name used
 by rootcint and by the run-time enviroment (TClass)
 Return 0 if the name is not known.
void Execute(const char *function, const char *params, int *error)
 Execute a global function with arguments params.
void Execute(TObject *obj, TClass *cl, const char *method, const char *params, int *error)
 Execute a method from class cl with arguments params.
void Execute(TObject *obj, TClass *cl, TMethod *method, TObjArray *params, int *error)
 Execute a method from class cl with the arguments in array params
 (params[0] ... params[n] = array of TObjString parameters).
Long_t ExecuteMacro(const char* filename, TInterpreter::EErrorCode* error = 0)
 Execute a CINT macro.
const char * GetTopLevelMacroName()
 Return the file name of the current un-included interpreted file.
 See the documentation for GetCurrentMacroName().
const char * GetCurrentMacroName()
 Return the file name of the currently interpreted file,
 included or not. Example to illustrate the difference between
 GetCurrentMacroName() and GetTopLevelMacroName():

inclfile.h
#include <iostream>
void inclfunc() {
   std::cout << "In inclfile.h" << std::endl;
   std::cout << "  TCint::GetCurrentMacroName() returns  " <<
      TCint::GetCurrentMacroName() << std::endl;
   std::cout << "  TCint::GetTopLevelMacroName() returns " <<
      TCint::GetTopLevelMacroName() << std::endl;
}
mymacro.C
#include <iostream>
#include "inclfile.h"
void mymacro() {
   std::cout << "In mymacro.C" << std::endl;
   std::cout << "  TCint::GetCurrentMacroName() returns  " <<
      TCint::GetCurrentMacroName() << std::endl;
   std::cout << "  TCint::GetTopLevelMacroName() returns " <<
      TCint::GetTopLevelMacroName() << std::endl;
   std::cout << "  Now calling inclfunc..." << std::endl;
   inclfunc();
}
 Running mymacro.C will print:

 root [0] .x mymacro.C
 In mymacro.C
   TCint::GetCurrentMacroName() returns  ./mymacro.C
   TCint::GetTopLevelMacroName() returns ./mymacro.C
   Now calling inclfunc...
 In inclfile.h
   TCint::GetCurrentMacroName() returns  inclfile.h
   TCint::GetTopLevelMacroName() returns ./mymacro.C
const char * TypeName(const char* typeDesc)
 Return the absolute type of typeDesc.
 E.g.: typeDesc = "class TNamed**", returns "TNamed".
 You need to use the result immediately before it is being overwritten.
Int_t LoadLibraryMap(const char* rootmapfile = 0)
 Load map between class and library. If rootmapfile is specified a
 specific rootmap file can be added (typically used by ACLiC).
 In case of error -1 is returned, 0 otherwise.
 Cint uses this information to automatically load the shared library
 for a class (autoload mechanism).
 See also the AutoLoadCallback() method below.
Int_t UnloadLibraryMap(const char* library)
 Unload library map entries coming from the specified library.
 Returns -1 in case no entries for the specified library were found,
 0 otherwise.
Int_t AutoLoad(const char* classname)
 Load library containing the specified class. Returns 0 in case of error
 and 1 in case if success.
Int_t AutoLoadCallback(const char* cls, const char* lib)
 Load library containing specified class. Returns 0 in case of error
 and 1 in case if success.
void * FindSpecialObject(const char* name, Cint::G__ClassInfo* type, void** prevObj, void** assocPtr)
 Static function called by CINT when it finds an un-indentified object.
 This function tries to find the UO in the ROOT files, directories, etc.
 This functions has been registered by the TCint ctor.
void UpdateClassInfo(char* name, Long_t tagnum)
 Static function called by CINT when it changes the tagnum for
 a class (e.g. after re-executing the setup function). In such
 cases we have to update the tagnum in the G__ClassInfo used by
 the TClass for class "item".
void UpdateClassInfoWork(const char* name, Long_t tagnum)
 This does the actual work of UpdateClassInfo.
void UpdateAllCanvases()
 Update all canvases at end the terminal input command.
const char* GetSharedLibs()
 Refresh the list of shared libraries and return it.
const char * GetClassSharedLibs(const char* cls)
 Get the list of shared libraries containing the code for class cls.
 The first library in the list is the one containing the class, the
 others are the libraries the first one depends on. Returns 0
 in case the library is not found.
const char * GetSharedLibDeps(const char* lib)
 Get the list a libraries on which the specified lib depends. The
 returned string contains as first element the lib itself.
 Returns 0 in case the lib does not exist or does not have
 any dependencies.
Bool_t IsErrorMessagesEnabled()
 If error messages are disabled, the interpreter should suppress its
 failures and warning messages from stdout.
Bool_t SetErrorMessages(Bool_t enable = kTRUE)
 If error messages are disabled, the interpreter should suppress its
 failures and warning messages from stdout. Return the previous state.
void AddIncludePath(const char* path)
 Add the given path to the list of directories in which the interpreter
 looks for include files. Only one path item can be specified at a
 time, i.e. "path1:path2" is not supported.
const char * GetIncludePath()
 Refresh the list of include paths known to the interpreter and return it
 with -I prepended.
TCint(const TCint& )
{ }
TCint(const TCint& )
TCint & operator=(const TCint& )
void Execute(TMethod *, TObjArray *, int * /*error*/ = 0)
{ }
Int_t GetExitCode()
{ return fExitCode; }
TEnv * GetMapfile()
{ return fMapfile; }
Int_t GetMore()
{ return fMore; }
char * GetPrompt()
{ return fPrompt; }
TObjArray * GetRootMapFiles()
{ return fRootMapFiles; }
Bool_t IsProcessLineLocked()
{ return fLockProcessLine; }
void SetProcessLineLock(Bool_t lock = kTRUE)
{ fLockProcessLine = lock; }

Author: Fons Rademakers 01/03/96
Last update: root/meta:$Id: TCint.h 21599 2008-01-09 03:56:20Z pcanal $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.