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

Classes

class  ROOT::Internal::TDefaultInitBehavior
 
class  ROOT::Internal::TInitBehavior
 

Namespaces

 ROOT
 This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecutor::MapReduce.
 
 ROOT::Internal
 

Macros

#define _ClassDef_(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 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 NULL   0
 
#define nullptr   0
 
#define R__ADD_INCLUDE_PATH(PATH)
 
#define R__ADD_LIBRARY_PATH(PATH)
 
#define R__LOAD_LIBRARY(LIBRARY)
 
#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
 
const size_t kBitsPerByte = 8
 
const Bool_t kFALSE = false
 
const Int_t kMaxChar = kMaxUChar >> 1
 
const Int_t kMaxInt = Int_t(kMaxUInt >> 1)
 
const Long_t kMaxLong = Long_t(kMaxULong >> 1)
 
const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1)
 
const Int_t kMaxShort = kMaxUShort >> 1
 
const Int_t kMaxUChar = 256
 
const UInt_t kMaxUInt = UInt_t(~0)
 
const ULong_t kMaxULong = ULong_t(~0)
 
const ULong64_t kMaxULong64 = ULong64_t(~0LL)
 
const Int_t kMaxUShort = 65534
 
const Int_t kMinChar = -kMaxChar - 1
 
const Int_t kMinInt = -kMaxInt - 1
 
const Long_t kMinLong = -kMaxLong - 1
 
const Long64_t kMinLong64 = -kMaxLong64 - 1
 
const Int_t kMinShort = -kMaxShort - 1
 
const Ssiz_t kNPOS = ~(Ssiz_t)0
 
const Bool_t kTRUE = true
 

Macro Definition Documentation

#define _ClassDef_ (   name,
  id,
  virtual_keyword,
  overrd 
)
Value:
private: \
static atomic_TClass_ptr fgIsA; \
public: \
static TClass *Class(); \
static const char *Class_Name(); \
static Version_t Class_Version() { return id; } \
static TClass *Dictionary(); \
virtual_keyword TClass *IsA() const overrd { return name::Class(); } \
virtual_keyword void ShowMembers(TMemberInspector&insp) const overrd { ::ROOT::Class_ShowMembers(name::Class(), this, insp); } \
virtual_keyword void Streamer(TBuffer&) overrd; \
void StreamerNVirtual(TBuffer&ClassDef_StreamerNVirtual_b) { name::Streamer(ClassDef_StreamerNVirtual_b); } \
static const char *DeclFileName() { return __FILE__; } \
static int ImplFileLine(); \
static const char *ImplFileName();
short Version_t
Definition: RtypesCore.h:61
Buffer base class used for serializing objects.
Definition: TBuffer.h:42
Abstract base class for accessing the data-members of a class.
const char * Class
Definition: TXMLSetup.cxx:64
XFontStruct * id
Definition: TGX11.cxx:108
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:81
std::atomic< TClass * > atomic_TClass_ptr
Definition: Rtypes.h:233
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 238 of file Rtypes.h.

#define _R_PragmaStr (   x)    _Pragma(#x)

Definition at line 371 of file Rtypes.h.

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

Definition at line 120 of file Rtypes.h.

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

Definition at line 254 of file Rtypes.h.

#define ClassDef2T2 (   name,
  Tmpl1,
  Tmpl2 
)

Definition at line 334 of file Rtypes.h.

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

Definition at line 343 of file Rtypes.h.

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

Definition at line 262 of file Rtypes.h.

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

Definition at line 258 of file Rtypes.h.

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

Definition at line 306 of file Rtypes.h.

#define ClassDefT2 (   name,
  Tmpl 
)

Definition at line 315 of file Rtypes.h.

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

Definition at line 310 of file Rtypes.h.

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

Definition at line 279 of file Rtypes.h.

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

Definition at line 335 of file Rtypes.h.

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

Definition at line 344 of file Rtypes.h.

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

Definition at line 327 of file Rtypes.h.

#define ClassImpUnique (   name,
  key 
)
Value:
namespace ROOT { \
TGenericClassInfo *GenerateInitInstance(const name*); \
namespace { \
static int _R__UNIQUE_(_NAME2_(R__dummyint,key)) = \
GenerateInitInstance((name*)0x0)->SetImplFile(__FILE__, __LINE__); \
R__UseDummy(_R__UNIQUE_(_NAME2_(R__dummyint,key))); \
} \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:443
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
#define _NAME2_(name1, name2)
Definition: RConfig.h:429
char name[80]
Definition: TGX11.cxx:109

Definition at line 270 of file Rtypes.h.

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

Definition at line 122 of file Rtypes.h.

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

Definition at line 294 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:443
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
#define _NAME2_(name1, name2)
Definition: RConfig.h:429
char name[80]
Definition: TGX11.cxx:109

Definition at line 283 of file Rtypes.h.

#define NULL   0

Definition at line 82 of file Rtypes.h.

#define nullptr   0

Definition at line 87 of file Rtypes.h.

#define R__ADD_INCLUDE_PATH (   PATH)

Definition at line 389 of file Rtypes.h.

#define R__ADD_LIBRARY_PATH (   PATH)

Definition at line 390 of file Rtypes.h.

#define R__LOAD_LIBRARY (   LIBRARY)

Definition at line 388 of file Rtypes.h.

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

Definition at line 266 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:443
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
short Short_t
Definition: RtypesCore.h:35
char name[80]
Definition: TGX11.cxx:109

Definition at line 349 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:443
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
short Short_t
Definition: RtypesCore.h:35
char name[80]
Definition: TGX11.cxx:109

Definition at line 357 of file Rtypes.h.

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

Definition at line 121 of file Rtypes.h.

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

Definition at line 325 of file Rtypes.h.

#define templateClassImpUnique (   name,
  key 
)
Value:
namespace ROOT { \
static TNamed *_R__UNIQUE_(_NAME2_(R__dummyholder,key)) = \
ROOT::RegisterClassTemplate(_QUOTE_(name), __FILE__, __LINE__); \
R__UseDummy(_R__UNIQUE_(_NAME2_(R__dummyholder,key))); \
}
#define _R__UNIQUE_(X)
Definition: RConfig.h:443
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
#define _QUOTE_(name)
Definition: RConfig.h:432
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
#define _NAME2_(name1, name2)
Definition: RConfig.h:429
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 319 of file Rtypes.h.

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

Definition at line 123 of file Rtypes.h.

Typedef Documentation

typedef std::atomic<TClass*> atomic_TClass_ptr

Definition at line 233 of file Rtypes.h.

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

Definition at line 68 of file Rtypes.h.

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

Definition at line 67 of file Rtypes.h.

typedef TClass*(* DictFuncPtr_t) ()

Definition at line 75 of file Rtypes.h.

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

Definition at line 135 of file Rtypes.h.

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

Definition at line 69 of file Rtypes.h.

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

Definition at line 133 of file Rtypes.h.

typedef void(* VoidFuncPtr_t) ()

Definition at line 74 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 60 of file Rtypes.h.

Enumerator
kMAXSIGNALS 
kMAXPATHLEN 
kBUFFERSIZE 
kItimerResolution 

Definition at line 53 of file Rtypes.h.

Function Documentation

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

Definition at line 386 of file TBuffer.h.

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

Definition at line 370 of file TBuffer.h.

Variable Documentation

R__EXTERN Int_t gDebug

Definition at line 128 of file Rtypes.h.

const size_t kBitsPerByte = 8

Definition at line 114 of file Rtypes.h.

const Bool_t kFALSE = false

Definition at line 92 of file Rtypes.h.

const Int_t kMaxChar = kMaxUChar >> 1

Definition at line 95 of file Rtypes.h.

const Int_t kMaxInt = Int_t(kMaxUInt >> 1)

Definition at line 103 of file Rtypes.h.

const Long_t kMaxLong = Long_t(kMaxULong >> 1)

Definition at line 107 of file Rtypes.h.

const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1)

Definition at line 111 of file Rtypes.h.

const Int_t kMaxShort = kMaxUShort >> 1

Definition at line 99 of file Rtypes.h.

const Int_t kMaxUChar = 256

Definition at line 94 of file Rtypes.h.

const UInt_t kMaxUInt = UInt_t(~0)

Definition at line 102 of file Rtypes.h.

const ULong_t kMaxULong = ULong_t(~0)

Definition at line 106 of file Rtypes.h.

const ULong64_t kMaxULong64 = ULong64_t(~0LL)

Definition at line 110 of file Rtypes.h.

const Int_t kMaxUShort = 65534

Definition at line 98 of file Rtypes.h.

const Int_t kMinChar = -kMaxChar - 1

Definition at line 96 of file Rtypes.h.

const Int_t kMinInt = -kMaxInt - 1

Definition at line 104 of file Rtypes.h.

const Long_t kMinLong = -kMaxLong - 1

Definition at line 108 of file Rtypes.h.

const Long64_t kMinLong64 = -kMaxLong64 - 1

Definition at line 112 of file Rtypes.h.

const Int_t kMinShort = -kMaxShort - 1

Definition at line 100 of file Rtypes.h.

const Ssiz_t kNPOS = ~(Ssiz_t)0

Definition at line 115 of file Rtypes.h.

const Bool_t kTRUE = true

Definition at line 91 of file Rtypes.h.