Logo ROOT   6.11/01
Reference Guide
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
Rtypes.h File Reference
#include "RtypesCore.h"
#include "DllImport.h"
#include "snprintf.h"
#include "strlcpy.h"
#include <atomic>
#include <stdio.h>
#include <string.h>
#include <typeinfo>
#include "TGenericClassInfo.h"
#include "TIsAProxy.h"
Include dependency graph for Rtypes.h:

Classes

class  ROOT::Internal::ClassDefGenerateInitInstanceLocalInjector< T >
 
class  ROOT::Internal::TCDGIILIBase
 
class  ROOT::Internal::TDefaultInitBehavior
 
class  ROOT::Internal::TInitBehavior
 
struct  ROOT::Internal::TTypeNameExtraction< T >
 
struct  ROOT::Internal::TTypeNameExtractionBase
 

Namespaces

 ROOT
 Namespace for new ROOT classes and functions.
 
 ROOT::Internal
 

Macros

#define _ClassDefBase_(name, id, virtual_keyword, overrd)
 
#define _ClassDefInline_(name, id, virtual_keyword, overrd)
 
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
 
#define _R_PragmaStr(x)   _Pragma(#x)
 
#define BIT(n)   (1ULL << (n))
 
#define ClassDef(name, id)
 
#define ClassDef2T2(name, Tmpl1, Tmpl2)
 
#define ClassDef3T2(name, Tmpl1, Tmpl2, Tmpl3)
 
#define ClassDefInline(name, id)
 
#define ClassDefInlineNV(name, id)
 
#define ClassDefInlineOverride(name, id)
 
#define ClassDefNV(name, id)
 
#define ClassDefOverride(name, id)
 
#define ClassDefT(name, id)
 
#define ClassDefT2(name, Tmpl)
 
#define ClassDefTNV(name, id)
 
#define ClassImp(name)   ClassImpUnique(name,default)
 
#define ClassImp2T(name, Tmpl1, Tmpl2)   templateClassImp(name)
 
#define ClassImp3T(name, Tmpl1, Tmpl2, Tmpl3)   templateClassImp(name)
 
#define ClassImpT(name, Tmpl)   templateClassImp(name)
 
#define ClassImpUnique(name, key)
 
#define CLRBIT(n, i)   ((n) &= ~BIT(i))
 
#define NamespaceImp(name)   NamespaceImpUnique(name,default)
 
#define NamespaceImpUnique(name, key)
 
#define R__ADD_INCLUDE_PATH(PATH)
 
#define R__ADD_LIBRARY_PATH(PATH)
 
#define R__LOAD_LIBRARY(LIBRARY)
 
#define R__TNE_PRETTY_FUNCTION   __PRETTY_FUNCTION__
 
#define R__UseDummy(name)   class _NAME2_(name,_c) { public: _NAME2_(name,_c)() { if (name) { } } }
 
#define RootClassVersion(name, VersionNumber)
 
#define RootStreamer(name, STREAMER)
 
#define SETBIT(n, i)   ((n) |= BIT(i))
 
#define templateClassImp(name)   templateClassImpUnique(name,default)
 
#define templateClassImpUnique(name, key)
 
#define TESTBIT(n, i)   ((Bool_t)(((n) & BIT(i)) != 0))
 

Typedefs

typedef std::atomic< TClass * > atomic_TClass_ptr
 
typedef void(* ClassConvStreamerFunc_t) (TBuffer &, void *, const TClass *)
 
typedef void(* ClassStreamerFunc_t) (TBuffer &, void *)
 
typedef void(* ROOT::DelArrFunc_t) (void *)
 
typedef void(* ROOT::DelFunc_t) (void *)
 
typedef void(* ROOT::DesFunc_t) (void *)
 
typedef TClass *(* DictFuncPtr_t) ()
 
typedef void(* ROOT::DirAutoAdd_t) (void *, TDirectory *)
 
typedef TClass *(* IsAGlobalFunc_t) (const TClass *, const void *obj)
 
typedef void(* MemberStreamerFunc_t) (TBuffer &, void *, Int_t)
 
typedef Long64_t(* ROOT::MergeFunc_t) (void *, TCollection *, TFileMergeInfo *)
 
typedef void *(* ROOT::NewArrFunc_t) (Long_t size, void *arena)
 
typedef void *(* ROOT::NewFunc_t) (void *)
 
typedef void(* ROOT::ResetAfterMergeFunc_t) (void *, TFileMergeInfo *)
 
typedef void(* ShowMembersFunc_t) (const void *obj, TMemberInspector &R__insp, Bool_t isTransient)
 
typedef void(* VoidFuncPtr_t) ()
 

Enumerations

enum  EColor {
  kWhite =0, kBlack =1, kGray =920, kRed =632,
  kGreen =416, kBlue =600, kYellow =400, kMagenta =616,
  kCyan =432, kOrange =800, kSpring =820, kTeal =840,
  kAzure =860, kViolet =880, kPink =900
}
 
enum  ESysConstants { kMAXSIGNALS = 15, kMAXPATHLEN = 8192, kBUFFERSIZE = 8192, kItimerResolution = 10 }
 

Functions

void ROOT::AddClass (const char *cname, Version_t id, const std::type_info &info, DictFuncPtr_t dict, Int_t pragmabits)
 Global function called by the ctor of a class's init class (see the ClassImp macro). More...
 
void ROOT::AddClassAlternate (const char *normName, const char *alternate)
 Global function called by GenerateInitInstance. More...
 
void ROOT::Class_ShowMembers (TClass *cl, const void *obj, TMemberInspector &)
 Indirect call to the implementation of ShowMember allowing [forward] declaration with out a full definition of the TClass class. More...
 
TClassROOT::CreateClass (const char *cname, Version_t id, const std::type_info &info, TVirtualIsAProxy *isa, const char *dfil, const char *ifil, Int_t dl, Int_t il)
 Global function called by a class' static Dictionary() method (see the ClassDef macro). More...
 
const TInitBehavior * ROOT::Internal::DefineBehavior (void *, void *)
 
template<class Tmpl >
TBufferoperator<< (TBuffer &buf, const Tmpl *obj)
 
template<class Tmpl >
TBufferoperator>> (TBuffer &buf, Tmpl *&obj)
 
TNamedROOT::RegisterClassTemplate (const char *name, const char *file, Int_t line)
 Global function to register the implementation file and line of a class template (i.e. More...
 
void ROOT::RemoveClass (const char *cname)
 Global function called by the dtor of a class's init class (see the ClassImp macro). More...
 
void ROOT::ResetClassVersion (TClass *, const char *, Short_t)
 Global function to update the version number. More...
 
template<class RootClass >
Short_t ROOT::SetClassVersion (RootClass *)
 

Variables

R__EXTERN Int_t gDebug
 

Macro Definition Documentation

#define _ClassDefBase_ (   name,
  id,
  virtual_keyword,
  overrd 
)
Value:
public: \
static Version_t Class_Version() { return id; } \
virtual_keyword TClass *IsA() const overrd { return name::Class(); } \
virtual_keyword void ShowMembers(TMemberInspector&insp) const overrd { ::ROOT::Class_ShowMembers(name::Class(), this, insp); } \
void StreamerNVirtual(TBuffer&ClassDef_StreamerNVirtual_b) { name::Streamer(ClassDef_StreamerNVirtual_b); } \
static const char *DeclFileName() { return __FILE__; }
short Version_t
Definition: RtypesCore.h:61
Buffer base class used for serializing objects.
Definition: TBuffer.h:40
Abstract base class for accessing the data-members of a class.
void Class()
Definition: Class.C:29
XFontStruct * id
Definition: TGX11.cxx:108
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:71
typedef void((*Func_t)())
void Class_ShowMembers(TClass *cl, const void *obj, TMemberInspector &)
Indirect call to the implementation of ShowMember allowing [forward] declaration with out a full defi...
Definition: TClass.cxx:513

Definition at line 264 of file Rtypes.h.

#define _ClassDefInline_ (   name,
  id,
  virtual_keyword,
  overrd 
)
Value:
_ClassDefBase_(name,id, virtual_keyword, overrd) \
public: \
static int ImplFileLine() { return -1; } \
static const char *ImplFileName() { return 0; } \
static const char *Class_Name() { return ROOT::Internal::ClassDefGenerateInitInstanceLocalInjector< name >::Name(); } \
virtual_keyword void Streamer(TBuffer& R__b) overrd { \
if (R__b.IsReading()) R__b.ReadClassBuffer(name::Class(),this); \
else R__b.WriteClassBuffer(name::Class(),this);}
Buffer base class used for serializing objects.
Definition: TBuffer.h:40
void Class()
Definition: Class.C:29
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:71
#define _ClassDefBase_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:264
char name[80]
Definition: TGX11.cxx:109

Definition at line 285 of file Rtypes.h.

#define _ClassDefOutline_ (   name,
  id,
  virtual_keyword,
  overrd 
)
Value:
_ClassDefBase_(name,id, virtual_keyword, overrd) \
private: \
static atomic_TClass_ptr fgIsA; \
public: \
static int ImplFileLine(); \
static const char *ImplFileName(); \
static const char *Class_Name(); \
static TClass *Dictionary(); \
static TClass *Class(); \
virtual_keyword void Streamer(TBuffer&) overrd;
Buffer base class used for serializing objects.
Definition: TBuffer.h:40
void Class()
Definition: Class.C:29
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:71
std::atomic< TClass * > atomic_TClass_ptr
Definition: Rtypes.h:187
#define _ClassDefBase_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:264
char name[80]
Definition: TGX11.cxx:109

Definition at line 273 of file Rtypes.h.

#define _R_PragmaStr (   x)    _Pragma(#x)

Definition at line 428 of file Rtypes.h.

#define BIT (   n)    (1ULL << (n))

Definition at line 75 of file Rtypes.h.

#define ClassDef (   name,
  id 
)
Value:
_ClassDefOutline_(name,id,virtual,) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:273
char name[80]
Definition: TGX11.cxx:109

Definition at line 297 of file Rtypes.h.

#define ClassDef2T2 (   name,
  Tmpl1,
  Tmpl2 
)

Definition at line 391 of file Rtypes.h.

#define ClassDef3T2 (   name,
  Tmpl1,
  Tmpl2,
  Tmpl3 
)

Definition at line 400 of file Rtypes.h.

#define ClassDefInline (   name,
  id 
)
Value:
_ClassDefInline_(name,id,virtual,) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefInline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:285
char name[80]
Definition: TGX11.cxx:109

Definition at line 309 of file Rtypes.h.

#define ClassDefInlineNV (   name,
  id 
)
Value:
static int DeclFileLine() { return __LINE__; }
#define _ClassDefInline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:285
char name[80]
Definition: TGX11.cxx:109

Definition at line 317 of file Rtypes.h.

#define ClassDefInlineOverride (   name,
  id 
)
Value:
_ClassDefInline_(name,id,,override) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefInline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:285
char name[80]
Definition: TGX11.cxx:109

Definition at line 313 of file Rtypes.h.

#define ClassDefNV (   name,
  id 
)
Value:
static int DeclFileLine() { return __LINE__; }
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:273
char name[80]
Definition: TGX11.cxx:109

Definition at line 305 of file Rtypes.h.

#define ClassDefOverride (   name,
  id 
)
Value:
_ClassDefOutline_(name,id,,override) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:273
char name[80]
Definition: TGX11.cxx:109

Definition at line 301 of file Rtypes.h.

#define ClassDefT (   name,
  id 
)
Value:
_ClassDefOutline_(name,id,virtual,) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:273
char name[80]
Definition: TGX11.cxx:109

Definition at line 363 of file Rtypes.h.

#define ClassDefT2 (   name,
  Tmpl 
)

Definition at line 372 of file Rtypes.h.

#define ClassDefTNV (   name,
  id 
)
Value:
_ClassDefOutline_(name,id,virtual,) \
static int DeclFileLine() { return __LINE__; }
#define _ClassDefOutline_(name, id, virtual_keyword, overrd)
Definition: Rtypes.h:273
char name[80]
Definition: TGX11.cxx:109

Definition at line 367 of file Rtypes.h.

#define ClassImp (   name)    ClassImpUnique(name,default)

Definition at line 336 of file Rtypes.h.

#define ClassImp2T (   name,
  Tmpl1,
  Tmpl2 
)    templateClassImp(name)

Definition at line 392 of file Rtypes.h.

#define ClassImp3T (   name,
  Tmpl1,
  Tmpl2,
  Tmpl3 
)    templateClassImp(name)

Definition at line 401 of file Rtypes.h.

#define ClassImpT (   name,
  Tmpl 
)    templateClassImp(name)

Definition at line 384 of file Rtypes.h.

#define ClassImpUnique (   name,
  key 
)
Value:
namespace ROOT { \
TGenericClassInfo *GenerateInitInstance(const name*); \
namespace { \
static int _R__UNIQUE_(_NAME2_(R__dummyint,key)) __attribute__ ((unused)) = \
GenerateInitInstance((name*)0x0)->SetImplFile(__FILE__, __LINE__); \
R__UseDummy(_R__UNIQUE_(_NAME2_(R__dummyint,key))); \
} \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:445
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
#define R__UseDummy(name)
Definition: Rtypes.h:323
#define _NAME2_(name1, name2)
Definition: RConfig.h:433
char name[80]
Definition: TGX11.cxx:109

Definition at line 327 of file Rtypes.h.

#define CLRBIT (   n,
 
)    ((n) &= ~BIT(i))

Definition at line 77 of file Rtypes.h.

#define NamespaceImp (   name)    NamespaceImpUnique(name,default)

Definition at line 351 of file Rtypes.h.

#define NamespaceImpUnique (   name,
  key 
)
Value:
namespace name { \
namespace ROOT { \
::ROOT::TGenericClassInfo *GenerateInitInstance(); \
namespace { \
static int _R__UNIQUE_(_NAME2_(R__dummyint,key)) = \
GenerateInitInstance()->SetImplFile(__FILE__, __LINE__); \
R__UseDummy(_R__UNIQUE_(_NAME2_(R__dummyint,key))); \
} \
} \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:445
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
#define R__UseDummy(name)
Definition: Rtypes.h:323
#define _NAME2_(name1, name2)
Definition: RConfig.h:433
char name[80]
Definition: TGX11.cxx:109

Definition at line 340 of file Rtypes.h.

#define R__ADD_INCLUDE_PATH (   PATH)

Definition at line 446 of file Rtypes.h.

#define R__ADD_LIBRARY_PATH (   PATH)

Definition at line 447 of file Rtypes.h.

#define R__LOAD_LIBRARY (   LIBRARY)

Definition at line 445 of file Rtypes.h.

#define R__TNE_PRETTY_FUNCTION   __PRETTY_FUNCTION__
#define R__UseDummy (   name)    class _NAME2_(name,_c) { public: _NAME2_(name,_c)() { if (name) { } } }

Definition at line 323 of file Rtypes.h.

#define RootClassVersion (   name,
  VersionNumber 
)
Value:
namespace ROOT { \
TGenericClassInfo *GenerateInitInstance(const name*); \
static Short_t _R__UNIQUE_(R__dummyVersionNumber) = \
GenerateInitInstance((name*)0x0)->SetVersion(VersionNumber); \
R__UseDummy(_R__UNIQUE_(R__dummyVersionNumber)); \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:445
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
#define R__UseDummy(name)
Definition: Rtypes.h:323
short Short_t
Definition: RtypesCore.h:35
char name[80]
Definition: TGX11.cxx:109

Definition at line 406 of file Rtypes.h.

#define RootStreamer (   name,
  STREAMER 
)
Value:
namespace ROOT { \
TGenericClassInfo *GenerateInitInstance(const name*); \
static Short_t _R__UNIQUE_(R__dummyStreamer) = \
GenerateInitInstance((name*)0x0)->SetStreamer(STREAMER); \
R__UseDummy(_R__UNIQUE_(R__dummyStreamer)); \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:445
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
#define R__UseDummy(name)
Definition: Rtypes.h:323
short Short_t
Definition: RtypesCore.h:35
char name[80]
Definition: TGX11.cxx:109

Definition at line 414 of file Rtypes.h.

#define SETBIT (   n,
 
)    ((n) |= BIT(i))

Definition at line 76 of file Rtypes.h.

#define templateClassImp (   name)    templateClassImpUnique(name,default)

Definition at line 382 of file Rtypes.h.

#define templateClassImpUnique (   name,
  key 
)
Value:
namespace ROOT { \
static TNamed *_R__UNIQUE_(_NAME2_(R__dummyholder,key)) = \
R__UseDummy(_R__UNIQUE_(_NAME2_(R__dummyholder,key))); \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:445
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
#define _QUOTE_(name)
Definition: RConfig.h:436
#define R__UseDummy(name)
Definition: Rtypes.h:323
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
#define _NAME2_(name1, name2)
Definition: RConfig.h:433
TNamed * RegisterClassTemplate(const char *name, const char *file, Int_t line)
Global function to register the implementation file and line of a class template (i.e.
char name[80]
Definition: TGX11.cxx:109

Definition at line 376 of file Rtypes.h.

#define TESTBIT (   n,
 
)    ((Bool_t)(((n) & BIT(i)) != 0))

Definition at line 78 of file Rtypes.h.

Typedef Documentation

typedef std::atomic<TClass*> atomic_TClass_ptr

Definition at line 187 of file Rtypes.h.

typedef void(* ClassConvStreamerFunc_t) (TBuffer &, void *, const TClass *)

Definition at line 63 of file Rtypes.h.

typedef void(* ClassStreamerFunc_t) (TBuffer &, void *)

Definition at line 62 of file Rtypes.h.

typedef TClass*(* DictFuncPtr_t) ()

Definition at line 70 of file Rtypes.h.

typedef TClass*(* IsAGlobalFunc_t) (const TClass *, const void *obj)

Definition at line 90 of file Rtypes.h.

typedef void(* MemberStreamerFunc_t) (TBuffer &, void *, Int_t)

Definition at line 64 of file Rtypes.h.

typedef void(* ShowMembersFunc_t) (const void *obj, TMemberInspector &R__insp, Bool_t isTransient)

Definition at line 88 of file Rtypes.h.

typedef void(* VoidFuncPtr_t) ()

Definition at line 69 of file Rtypes.h.

Enumeration Type Documentation

enum EColor
Enumerator
kWhite 
kBlack 
kGray 
kRed 
kGreen 
kBlue 
kYellow 
kMagenta 
kCyan 
kOrange 
kSpring 
kTeal 
kAzure 
kViolet 
kPink 

Definition at line 55 of file Rtypes.h.

Enumerator
kMAXSIGNALS 
kMAXPATHLEN 
kBUFFERSIZE 
kItimerResolution 

Definition at line 48 of file Rtypes.h.

Function Documentation

template<class Tmpl >
TBuffer& operator<< ( TBuffer buf,
const Tmpl *  obj 
)

Definition at line 390 of file TBuffer.h.

template<class Tmpl >
TBuffer& operator>> ( TBuffer buf,
Tmpl *&  obj 
)

Definition at line 374 of file TBuffer.h.

Variable Documentation

R__EXTERN Int_t gDebug

Definition at line 83 of file Rtypes.h.