Logo ROOT   6.10/09
Reference Guide
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
TTabCom Class Reference

Definition at line 53 of file TTabCom.h.

Public Types

enum  { kDebug = 17 }
 
enum  EContext_t {
  kUNKNOWN_CONTEXT =-1, kSYS_UserName, kSYS_EnvVar, kCINT_stdout,
  kCINT_stderr, kCINT_stdin, kCINT_Edit, kCINT_Load,
  kCINT_Exec, kCINT_EXec, kCINT_pragma, kCINT_includeSYS,
  kCINT_includePWD, kCINT_cpp, kROOT_Load, kSYS_FileName,
  kCXX_NewProto, kCXX_ConstructorProto, kCXX_ScopeProto, kCXX_DirectProto,
  kCXX_IndirectProto, kCXX_ScopeMember, kCXX_DirectMember, kCXX_IndirectMember,
  kCXX_Global, kCXX_GlobalProto, kNUM_PAT
}
 
typedef TList TContainer
 
typedef TListIter TContIter
 

Public Member Functions

 TTabCom ()
 Default constructor. More...
 
virtual ~TTabCom ()
 
void ClearAll ()
 clears all lists except for user names and system include files. More...
 
void ClearClasses ()
 Clear classes and namespace collections. More...
 
void ClearCppDirectives ()
 Forget all Cpp directives seen so far. More...
 
void ClearEnvVars ()
 Forget all environment variables seen so far. More...
 
void ClearFiles ()
 Close all files. More...
 
void ClearGlobalFunctions ()
 Forget all global functions seen so far. More...
 
void ClearGlobals ()
 Forget all global variables seen so far. More...
 
void ClearPragmas ()
 Forget all pragmas seen so far. More...
 
void ClearSysIncFiles ()
 Close system files. More...
 
void ClearUsers ()
 Forget all user seen so far. More...
 
const TSeqCollectionGetListOfClasses ()
 Return the list of classes. More...
 
const TSeqCollectionGetListOfCppDirectives ()
 Return the list of CPP directives. More...
 
const TSeqCollectionGetListOfEnvVars ()
 Uses "env" (Unix) or "set" (Windows) to get list of environment variables. More...
 
const TSeqCollectionGetListOfFilesInPath (const char path[])
 "path" should be initialized with a colon separated list of system directories More...
 
TCollectionGetListOfGlobalFunctions ()
 Return the list of global functions. More...
 
const TSeqCollectionGetListOfGlobals ()
 Return the list of globals. More...
 
const TSeqCollectionGetListOfPragmas ()
 Return the list of pragmas. More...
 
const TSeqCollectionGetListOfSysIncFiles ()
 Return the list of system include files. More...
 
const TSeqCollectionGetListOfUsers ()
 reads from "/etc/passwd" More...
 
Int_t Hook (char *buf, int *pLoc, std::ostream &out)
 [private] More...
 
void RehashAll ()
 clears and then rebuilds all lists except for user names and system include files. More...
 
void RehashClasses ()
 Do the class rehash. More...
 
void RehashCppDirectives ()
 Cpp rehashing. More...
 
void RehashEnvVars ()
 Environemnt variables rehashing. More...
 
void RehashFiles ()
 Close files. More...
 
void RehashGlobalFunctions ()
 Reload global functions. More...
 
void RehashGlobals ()
 Reload globals. More...
 
void RehashPragmas ()
 Reload pragmas. More...
 
void RehashSysIncFiles ()
 Reload system include files. More...
 
void RehashUsers ()
 Reload users. More...
 

Static Public Member Functions

static Char_t AllAgreeOnChar (int i, const TSeqCollection *pList, Int_t &nGoodStrings)
 [static utility function]/////////////////////////////////////////// More...
 
static void AppendListOfFilesInDirectory (const char dirName[], TSeqCollection *pList)
 [static utility function]///////////////////////////// More...
 
static TString DetermineClass (const char varName[])
 [static utility function]///////////////////////////// More...
 
static Bool_t ExcludedByFignore (TString s)
 [static utility function]///////////////////////////// More...
 
static TString GetSysIncludePath ()
 [static utility function]///////////////////////////// More...
 
static Bool_t IsDirectory (const char fileName[])
 [static utility function]///////////////////////////// More...
 
static TSeqCollectionNewListOfFilesInPath (const char path[])
 [static utility function]///////////////////////////// More...
 
static void NoMsg (Int_t errorLevel)
 [static utility function]///////////////////////////// More...
 
static Bool_t PathIsSpecifiedInFileName (const TString &fileName)
 [static utility function]///////////////////////////// More...
 

Private Member Functions

 TTabCom (const TTabCom &)
 
Int_t Complete (const TRegexp &re, const TSeqCollection *pListOfCandidates, const char appendage[], std::ostream &out, TString::ECaseCompare cmp=TString::kExact)
 [private] More...
 
void CopyMatch (char dest[], const char localName[], const char appendage[]=0, const char fullName[]=0) const
 [private] More...
 
EContext_t DetermineContext () const
 [private] More...
 
TString DeterminePath (const TString &fileName, const char defaultPath[]) const
 [private] More...
 
TString ExtendPath (const char originalPath[], TString newBase) const
 [private] More...
 
void InitPatterns ()
 [private] More...
 
TClassMakeClassFromClassName (const char className[]) const
 private returns a new'd TClass given the name of a class. More...
 
TClassMakeClassFromVarName (const char varName[], EContext_t &context, int iter=0)
 private returns a new'd TClass given the name of a variable. More...
 
TTabComoperator= (const TTabCom &)
 
int ParseReverse (const char *var_str, int start)
 Returns the place in the string where to put the \0, starting the search from "start". More...
 
void SetPattern (EContext_t handle, const char regexp[])
 [private] More...
 
TClassTryMakeClassFromClassName (const char className[]) const
 Same as above but does not print the error message. More...
 

Private Attributes

char * fBuf
 
Int_t fLastIter
 
Pattern_t fPat [kNUM_PAT][MAX_LEN_PAT]
 
TSeqCollectionfpClasses
 
TSeqCollectionfpDirectives
 
TSeqCollectionfpEnvVars
 
TSeqCollectionfpFiles
 
TSeqCollectionfpGlobals
 
int * fpLoc
 
TSeqCollectionfpPragmas
 
ULong64_t fPrevInterpMarker
 
TSeqCollectionfpSysIncFiles
 
TSeqCollectionfpUsers
 
const char * fRegExp [kNUM_PAT]
 
Bool_t fVarIsPointer
 

#include <TTabCom.h>

Member Typedef Documentation

◆ TContainer

Definition at line 60 of file TTabCom.h.

◆ TContIter

Definition at line 61 of file TTabCom.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kDebug 

Definition at line 112 of file TTabCom.h.

◆ EContext_t

Enumerator
kUNKNOWN_CONTEXT 
kSYS_UserName 
kSYS_EnvVar 
kCINT_stdout 
kCINT_stderr 
kCINT_stdin 
kCINT_Edit 
kCINT_Load 
kCINT_Exec 
kCINT_EXec 
kCINT_pragma 
kCINT_includeSYS 
kCINT_includePWD 
kCINT_cpp 
kROOT_Load 
kSYS_FileName 
kCXX_NewProto 
kCXX_ConstructorProto 
kCXX_ScopeProto 
kCXX_DirectProto 
kCXX_IndirectProto 
kCXX_ScopeMember 
kCXX_DirectMember 
kCXX_IndirectMember 
kCXX_Global 
kCXX_GlobalProto 
kNUM_PAT 

Definition at line 114 of file TTabCom.h.

Constructor & Destructor Documentation

◆ TTabCom() [1/2]

TTabCom::TTabCom ( )

Default constructor.

Definition at line 172 of file TTabCom.cxx.

◆ ~TTabCom()

TTabCom::~TTabCom ( )
virtual

Definition at line 195 of file TTabCom.cxx.

◆ TTabCom() [2/2]

TTabCom::TTabCom ( const TTabCom )
private

Member Function Documentation

◆ AllAgreeOnChar()

Char_t TTabCom::AllAgreeOnChar ( int  i,
const TSeqCollection pList,
Int_t nGoodStrings 
)
static

[static utility function]///////////////////////////////////////////

if all the strings in "*pList" have the same ith character, that character is returned. otherwise 0 is returned.

any string "s" for which "ExcludedByFignore(s)" is true will be ignored unless All the strings in "*pList" are "ExcludedByFignore()"

in addition, the number of strings which were not "ExcludedByFignore()" is returned in "nGoodStrings".

Definition at line 675 of file TTabCom.cxx.

◆ AppendListOfFilesInDirectory()

void TTabCom::AppendListOfFilesInDirectory ( const char  dirName[],
TSeqCollection pList 
)
static

[static utility function]/////////////////////////////

adds a TObjString to "*pList" for each entry found in the system directory "dirName"

directories that do not exist are silently ignored.

Definition at line 740 of file TTabCom.cxx.

◆ ClearAll()

void TTabCom::ClearAll ( )

clears all lists except for user names and system include files.

Definition at line 314 of file TTabCom.cxx.

◆ ClearClasses()

void TTabCom::ClearClasses ( )

Clear classes and namespace collections.

Definition at line 213 of file TTabCom.cxx.

◆ ClearCppDirectives()

void TTabCom::ClearCppDirectives ( )

Forget all Cpp directives seen so far.

Definition at line 225 of file TTabCom.cxx.

◆ ClearEnvVars()

void TTabCom::ClearEnvVars ( )

Forget all environment variables seen so far.

Definition at line 237 of file TTabCom.cxx.

◆ ClearFiles()

void TTabCom::ClearFiles ( )

Close all files.

Definition at line 249 of file TTabCom.cxx.

◆ ClearGlobalFunctions()

void TTabCom::ClearGlobalFunctions ( )

Forget all global functions seen so far.

Not needed anymore. Use gROOT->GetListOfGlobalFunctions()

Definition at line 262 of file TTabCom.cxx.

◆ ClearGlobals()

void TTabCom::ClearGlobals ( )

Forget all global variables seen so far.

With teh new implamentation the list is gROOT->GetListOfGlobals(true).

Definition at line 270 of file TTabCom.cxx.

◆ ClearPragmas()

void TTabCom::ClearPragmas ( )

Forget all pragmas seen so far.

Definition at line 277 of file TTabCom.cxx.

◆ ClearSysIncFiles()

void TTabCom::ClearSysIncFiles ( )

Close system files.

Definition at line 289 of file TTabCom.cxx.

◆ ClearUsers()

void TTabCom::ClearUsers ( )

Forget all user seen so far.

Definition at line 301 of file TTabCom.cxx.

◆ Complete()

Int_t TTabCom::Complete ( const TRegexp re,
const TSeqCollection pListOfCandidates,
const char  appendage[],
std::ostream &  out,
TString::ECaseCompare  cmp = TString::kExact 
)
private

[private]

Definition at line 1153 of file TTabCom.cxx.

◆ CopyMatch()

void TTabCom::CopyMatch ( char  dest[],
const char  localName[],
const char  appendage[] = 0,
const char  fullName[] = 0 
) const
private

[private]

Definition at line 1404 of file TTabCom.cxx.

◆ DetermineClass()

TString TTabCom::DetermineClass ( const char  varName[])
static

[static utility function]/////////////////////////////

returns empty string on failure. otherwise returns something like this: "TROOT*". fails for non-class types (ie, int, char, etc). fails for pointers to functions.

Definition at line 789 of file TTabCom.cxx.

◆ DetermineContext()

TTabCom::EContext_t TTabCom::DetermineContext ( ) const
private

[private]

Definition at line 1456 of file TTabCom.cxx.

◆ DeterminePath()

TString TTabCom::DeterminePath ( const TString fileName,
const char  defaultPath[] 
) const
private

[private]

Definition at line 1480 of file TTabCom.cxx.

◆ ExcludedByFignore()

Bool_t TTabCom::ExcludedByFignore ( TString  s)
static

[static utility function]/////////////////////////////

returns true iff "s" ends with one of the strings listed in the "TabCom.FileIgnore" resource.

Definition at line 882 of file TTabCom.cxx.

◆ ExtendPath()

TString TTabCom::ExtendPath ( const char  originalPath[],
TString  newBase 
) const
private

[private]

Definition at line 1524 of file TTabCom.cxx.

◆ GetListOfClasses()

const TSeqCollection * TTabCom::GetListOfClasses ( )

Return the list of classes.

Definition at line 426 of file TTabCom.cxx.

◆ GetListOfCppDirectives()

const TSeqCollection * TTabCom::GetListOfCppDirectives ( )

Return the list of CPP directives.

Definition at line 472 of file TTabCom.cxx.

◆ GetListOfEnvVars()

const TSeqCollection * TTabCom::GetListOfEnvVars ( )

Uses "env" (Unix) or "set" (Windows) to get list of environment variables.

Definition at line 517 of file TTabCom.cxx.

◆ GetListOfFilesInPath()

const TSeqCollection * TTabCom::GetListOfFilesInPath ( const char  path[])

"path" should be initialized with a colon separated list of system directories

Definition at line 498 of file TTabCom.cxx.

◆ GetListOfGlobalFunctions()

TCollection * TTabCom::GetListOfGlobalFunctions ( )

Return the list of global functions.

Definition at line 578 of file TTabCom.cxx.

◆ GetListOfGlobals()

const TSeqCollection * TTabCom::GetListOfGlobals ( )

Return the list of globals.

Definition at line 570 of file TTabCom.cxx.

◆ GetListOfPragmas()

const TSeqCollection * TTabCom::GetListOfPragmas ( )

Return the list of pragmas.

Definition at line 586 of file TTabCom.cxx.

◆ GetListOfSysIncFiles()

const TSeqCollection * TTabCom::GetListOfSysIncFiles ( )

Return the list of system include files.

Definition at line 617 of file TTabCom.cxx.

◆ GetListOfUsers()

const TSeqCollection * TTabCom::GetListOfUsers ( )

reads from "/etc/passwd"

Definition at line 629 of file TTabCom.cxx.

◆ GetSysIncludePath()

TString TTabCom::GetSysIncludePath ( )
static

[static utility function]/////////////////////////////

returns a colon-separated string of directories that CINT will search when you call #include<...>

returns empty string on failure.

Definition at line 918 of file TTabCom.cxx.

◆ Hook()

Int_t TTabCom::Hook ( char *  buf,
int *  pLoc,
std::ostream &  out 
)

[private]

Definition at line 1556 of file TTabCom.cxx.

◆ InitPatterns()

void TTabCom::InitPatterns ( )
private

[private]

Definition at line 2128 of file TTabCom.cxx.

◆ IsDirectory()

Bool_t TTabCom::IsDirectory ( const char  fileName[])
static

[static utility function]/////////////////////////////

calls TSystem::GetPathInfo() to see if "fileName" is a system directory.

Definition at line 1019 of file TTabCom.cxx.

◆ MakeClassFromClassName()

TClass * TTabCom::MakeClassFromClassName ( const char  className[]) const
private

private returns a new'd TClass given the name of a class.

user must delete. returns 0 in case of error.

Definition at line 2195 of file TTabCom.cxx.

◆ MakeClassFromVarName()

TClass * TTabCom::MakeClassFromVarName ( const char  varName[],
EContext_t context,
int  iter = 0 
)
private

private returns a new'd TClass given the name of a variable.

user must delete. returns 0 in case of error. if user has operator.() or operator->() backwards, will modify: context, *fpLoc and fBuf. context sensitive behavior.

Definition at line 2244 of file TTabCom.cxx.

◆ NewListOfFilesInPath()

TSeqCollection * TTabCom::NewListOfFilesInPath ( const char  path1[])
static

[static utility function]/////////////////////////////

creates a list containing the full path name for each file in the (colon separated) string "path1"

memory is allocated with "new", so whoever calls this function takes responsibility for deleting it.

Definition at line 1039 of file TTabCom.cxx.

◆ NoMsg()

void TTabCom::NoMsg ( Int_t  errorLevel)
static

[static utility function]/////////////////////////////

calling "NoMsg( errorLevel )", sets "gErrorIgnoreLevel" to "errorLevel+1" so that all errors with "level < errorLevel" will be ignored.

calling the function with a negative argument (e.g., "NoMsg( -1 )") resets gErrorIgnoreLevel to its previous value.

Definition at line 1098 of file TTabCom.cxx.

◆ operator=()

TTabCom& TTabCom::operator= ( const TTabCom )
private

◆ ParseReverse()

int TTabCom::ParseReverse ( const char *  var_str,
int  start 
)
private

Returns the place in the string where to put the \0, starting the search from "start".

Definition at line 2554 of file TTabCom.cxx.

◆ PathIsSpecifiedInFileName()

Bool_t TTabCom::PathIsSpecifiedInFileName ( const TString fileName)
static

[static utility function]/////////////////////////////

true if "fileName"

  1. is an absolute path ("/tmp/a")
  2. is a relative path ("../whatever", "./test")
  3. starts with user name ("~/mail")
  4. starts with an environment variable ("$ROOTSYS/bin")

Definition at line 1078 of file TTabCom.cxx.

◆ RehashAll()

void TTabCom::RehashAll ( )

clears and then rebuilds all lists except for user names and system include files.

Definition at line 410 of file TTabCom.cxx.

◆ RehashClasses()

void TTabCom::RehashClasses ( )

Do the class rehash.

Definition at line 330 of file TTabCom.cxx.

◆ RehashCppDirectives()

void TTabCom::RehashCppDirectives ( )

Cpp rehashing.

Definition at line 339 of file TTabCom.cxx.

◆ RehashEnvVars()

void TTabCom::RehashEnvVars ( )

Environemnt variables rehashing.

Definition at line 348 of file TTabCom.cxx.

◆ RehashFiles()

void TTabCom::RehashFiles ( )

Close files.

Definition at line 357 of file TTabCom.cxx.

◆ RehashGlobalFunctions()

void TTabCom::RehashGlobalFunctions ( )

Reload global functions.

Definition at line 365 of file TTabCom.cxx.

◆ RehashGlobals()

void TTabCom::RehashGlobals ( )

Reload globals.

Definition at line 373 of file TTabCom.cxx.

◆ RehashPragmas()

void TTabCom::RehashPragmas ( )

Reload pragmas.

Definition at line 382 of file TTabCom.cxx.

◆ RehashSysIncFiles()

void TTabCom::RehashSysIncFiles ( )

Reload system include files.

Definition at line 391 of file TTabCom.cxx.

◆ RehashUsers()

void TTabCom::RehashUsers ( )

Reload users.

Definition at line 400 of file TTabCom.cxx.

◆ SetPattern()

void TTabCom::SetPattern ( EContext_t  handle,
const char  regexp[] 
)
private

[private]

Definition at line 2532 of file TTabCom.cxx.

◆ TryMakeClassFromClassName()

TClass * TTabCom::TryMakeClassFromClassName ( const char  className[]) const
private

Same as above but does not print the error message.

Definition at line 2224 of file TTabCom.cxx.

Member Data Documentation

◆ fBuf

char* TTabCom::fBuf
private

Definition at line 219 of file TTabCom.h.

◆ fLastIter

Int_t TTabCom::fLastIter
private

Definition at line 225 of file TTabCom.h.

◆ fPat

Pattern_t TTabCom::fPat[kNUM_PAT][MAX_LEN_PAT]
private

Definition at line 222 of file TTabCom.h.

◆ fpClasses

TSeqCollection* TTabCom::fpClasses
private

Definition at line 209 of file TTabCom.h.

◆ fpDirectives

TSeqCollection* TTabCom::fpDirectives
private

Definition at line 211 of file TTabCom.h.

◆ fpEnvVars

TSeqCollection* TTabCom::fpEnvVars
private

Definition at line 212 of file TTabCom.h.

◆ fpFiles

TSeqCollection* TTabCom::fpFiles
private

Definition at line 213 of file TTabCom.h.

◆ fpGlobals

TSeqCollection* TTabCom::fpGlobals
private

Definition at line 214 of file TTabCom.h.

◆ fpLoc

int* TTabCom::fpLoc
private

Definition at line 220 of file TTabCom.h.

◆ fpPragmas

TSeqCollection* TTabCom::fpPragmas
private

Definition at line 215 of file TTabCom.h.

◆ fPrevInterpMarker

ULong64_t TTabCom::fPrevInterpMarker
private

Definition at line 210 of file TTabCom.h.

◆ fpSysIncFiles

TSeqCollection* TTabCom::fpSysIncFiles
private

Definition at line 216 of file TTabCom.h.

◆ fpUsers

TSeqCollection* TTabCom::fpUsers
private

Definition at line 217 of file TTabCom.h.

◆ fRegExp

const char* TTabCom::fRegExp[kNUM_PAT]
private

Definition at line 223 of file TTabCom.h.

◆ fVarIsPointer

Bool_t TTabCom::fVarIsPointer
private

Definition at line 224 of file TTabCom.h.


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