Logo ROOT   6.08/07
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

◆ _ClassDef_

#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.

◆ _R_PragmaStr

#define _R_PragmaStr (   x)    _Pragma(#x)

Definition at line 371 of file Rtypes.h.

◆ BIT

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

Definition at line 120 of file Rtypes.h.

◆ ClassDef

#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.

◆ ClassDef2T2

#define ClassDef2T2 (   name,
  Tmpl1,
  Tmpl2 
)

Definition at line 334 of file Rtypes.h.

◆ ClassDef3T2

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

Definition at line 343 of file Rtypes.h.

◆ ClassDefNV

#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.

◆ ClassDefOverride

#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.

◆ ClassDefT

#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.

◆ ClassDefT2

#define ClassDefT2 (   name,
  Tmpl 
)

Definition at line 315 of file Rtypes.h.

◆ ClassDefTNV

#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.

◆ ClassImp

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

Definition at line 279 of file Rtypes.h.

◆ ClassImp2T

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

Definition at line 335 of file Rtypes.h.

◆ ClassImp3T

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

Definition at line 344 of file Rtypes.h.

◆ ClassImpT

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

Definition at line 327 of file Rtypes.h.

◆ ClassImpUnique

#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:451
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:437
char name[80]
Definition: TGX11.cxx:109

Definition at line 270 of file Rtypes.h.

◆ CLRBIT

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

Definition at line 122 of file Rtypes.h.

◆ NamespaceImp

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

Definition at line 294 of file Rtypes.h.

◆ NamespaceImpUnique

#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:451
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:437
char name[80]
Definition: TGX11.cxx:109

Definition at line 283 of file Rtypes.h.

◆ NULL

#define NULL   0

Definition at line 82 of file Rtypes.h.

◆ nullptr

#define nullptr   0

Definition at line 87 of file Rtypes.h.

◆ R__ADD_INCLUDE_PATH

#define R__ADD_INCLUDE_PATH (   PATH)

Definition at line 389 of file Rtypes.h.

◆ R__ADD_LIBRARY_PATH

#define R__ADD_LIBRARY_PATH (   PATH)

Definition at line 390 of file Rtypes.h.

◆ R__LOAD_LIBRARY

#define R__LOAD_LIBRARY (   LIBRARY)

Definition at line 388 of file Rtypes.h.

◆ R__UseDummy

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

Definition at line 266 of file Rtypes.h.

◆ RootClassVersion

#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:451
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.

◆ RootStreamer

#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:451
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.

◆ SETBIT

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

Definition at line 121 of file Rtypes.h.

◆ templateClassImp

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

Definition at line 325 of file Rtypes.h.

◆ templateClassImpUnique

#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:451
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:440
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
#define _NAME2_(name1, name2)
Definition: RConfig.h:437
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.

◆ TESTBIT

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

Definition at line 123 of file Rtypes.h.

Typedef Documentation

◆ atomic_TClass_ptr

typedef std::atomic<TClass*> atomic_TClass_ptr

Definition at line 233 of file Rtypes.h.

◆ ClassConvStreamerFunc_t

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

Definition at line 68 of file Rtypes.h.

◆ ClassStreamerFunc_t

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

Definition at line 67 of file Rtypes.h.

◆ DictFuncPtr_t

typedef TClass*(* DictFuncPtr_t) ()

Definition at line 75 of file Rtypes.h.

◆ IsAGlobalFunc_t

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

Definition at line 135 of file Rtypes.h.

◆ MemberStreamerFunc_t

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

Definition at line 69 of file Rtypes.h.

◆ ShowMembersFunc_t

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

Definition at line 133 of file Rtypes.h.

◆ VoidFuncPtr_t

typedef void(* VoidFuncPtr_t) ()

Definition at line 74 of file Rtypes.h.

Enumeration Type Documentation

◆ EColor

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.

◆ ESysConstants

Enumerator
kMAXSIGNALS 
kMAXPATHLEN 
kBUFFERSIZE 
kItimerResolution 

Definition at line 53 of file Rtypes.h.

Function Documentation

◆ operator<<()

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

Definition at line 390 of file TBuffer.h.

◆ operator>>()

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

Definition at line 374 of file TBuffer.h.

Variable Documentation

◆ gDebug

R__EXTERN Int_t gDebug

Definition at line 128 of file Rtypes.h.

◆ kBitsPerByte

const size_t kBitsPerByte = 8

Definition at line 114 of file Rtypes.h.

◆ kFALSE

const Bool_t kFALSE = false

Definition at line 92 of file Rtypes.h.

◆ kMaxChar

const Int_t kMaxChar = kMaxUChar >> 1

Definition at line 95 of file Rtypes.h.

◆ kMaxInt

const Int_t kMaxInt = Int_t(kMaxUInt >> 1)

Definition at line 103 of file Rtypes.h.

◆ kMaxLong

const Long_t kMaxLong = Long_t(kMaxULong >> 1)

Definition at line 107 of file Rtypes.h.

◆ kMaxLong64

const Long64_t kMaxLong64 = Long64_t(kMaxULong64 >> 1)

Definition at line 111 of file Rtypes.h.

◆ kMaxShort

const Int_t kMaxShort = kMaxUShort >> 1

Definition at line 99 of file Rtypes.h.

◆ kMaxUChar

const Int_t kMaxUChar = 256

Definition at line 94 of file Rtypes.h.

◆ kMaxUInt

const UInt_t kMaxUInt = UInt_t(~0)

Definition at line 102 of file Rtypes.h.

◆ kMaxULong

const ULong_t kMaxULong = ULong_t(~0)

Definition at line 106 of file Rtypes.h.

◆ kMaxULong64

const ULong64_t kMaxULong64 = ULong64_t(~0LL)

Definition at line 110 of file Rtypes.h.

◆ kMaxUShort

const Int_t kMaxUShort = 65534

Definition at line 98 of file Rtypes.h.

◆ kMinChar

const Int_t kMinChar = -kMaxChar - 1

Definition at line 96 of file Rtypes.h.

◆ kMinInt

const Int_t kMinInt = -kMaxInt - 1

Definition at line 104 of file Rtypes.h.

◆ kMinLong

const Long_t kMinLong = -kMaxLong - 1

Definition at line 108 of file Rtypes.h.

◆ kMinLong64

const Long64_t kMinLong64 = -kMaxLong64 - 1

Definition at line 112 of file Rtypes.h.

◆ kMinShort

const Int_t kMinShort = -kMaxShort - 1

Definition at line 100 of file Rtypes.h.

◆ kNPOS

const Ssiz_t kNPOS = ~(Ssiz_t)0

Definition at line 115 of file Rtypes.h.

◆ kTRUE

const Bool_t kTRUE = true

Definition at line 91 of file Rtypes.h.