75#if !defined(_MSC_VER) || (_MSC_VER>1300) 
  156      f->Seek(
orig.fSeekKey);
 
  159         Error(
"ReadFile", 
"Failed to read data.");
 
  163         std::cout << 
"TKey Reading "<<
nsize<< 
" bytes at address "<<
fSeekKey<<std::endl;
 
 
  231   if (!obj->
IsA()->HasDefaultConstructor()) {
 
  232      Warning(
"TKey", 
"since %s has no public constructor\n" 
  233              "\twhich can be called without argument, objects of this class\n" 
  234              "\tcan not be read with the current library. You will need to\n" 
  235              "\tadd a default constructor before attempting to read it.",
 
 
  307      Warning(
"TKey", 
"since %s has no public constructor\n" 
  308              "\twhich can be called without argument, objects of this class\n" 
  309              "\tcan not be read with the current library. You will need to\n" 
  310              "\tadd a default constructor before attempting to read it.",
 
  317      const char *temp = (
const char*) obj;
 
  320                     clActual->GetBaseClassOffset(cl) : 0;
 
 
  438   if (obj && 
objcl->IsTObject()) {
 
  440      if (!
tobj->IsFolder()) {
 
 
  470      Error(
"Create",
"Cannot create key without file");
 
  481      Error(
"Create",
"Cannot allocate %d bytes for ID = %s Title = %s",
 
 
  549         printf(
"Rejected attempt to delete TDirectoryFile key: %s at address %lld, nbytes = %d\n",
 
 
  599   return ((
fCycle >0) ? 0 : 1);
 
 
  702   std::cout << (current ? 
" [current cycle]" : 
" [backup cycle]");
 
  703   std::cout <<std::endl;
 
 
  776      Error(
"ReadObj", 
"Cannot allocate buffer: fObjlen = %d", 
fObjlen);
 
  822      Fatal(
"ReadObj",
"Incorrect detection of the inheritance from TObject for class %s.\n",
 
  857   if (
gROOT->GetForceStyle()) 
tobj->UseCurrentStyle();
 
 
  911      Error(
"ReadObjWithBuffer", 
"Cannot allocate buffer: fObjlen = %d", 
fObjlen);
 
  946      Fatal(
"ReadObjWithBuffer",
"Incorrect detection of the inheritance from TObject for class %s.\n",
 
  981   if (
gROOT->GetForceStyle()) 
tobj->UseCurrentStyle();
 
 
 1031      Error(
"ReadObj", 
"Cannot allocate buffer: fObjlen = %d", 
fObjlen);
 
 1083                 "Trying to read an emulated class (%s) to store in a compiled pointer (%s)",
 
 1126         Fatal(
"ReadObj",
"Incorrect detection of the inheritance from TObject for class %s.\n",
 
 1132      if (
gROOT->GetForceStyle()) 
tobj->UseCurrentStyle();
 
 
 1163   if (!obj || (
GetFile()==0)) 
return 0;
 
 
 1293      Error(
"ReadFile", 
"Failed to read data.");
 
 1298      std::cout << 
"TKey Reading "<<
nsize<< 
" bytes at address "<<
fSeekKey<<std::endl;
 
 
 1368   if (
b.IsReading()) {
 
 1403         Error(
"Streamer",
"The value of fKeylen is incorrect (%d) ; trying to recover by setting it to zero",
fKeylen);
 
 1408         Error(
"Streamer",
"The value of fObjlen is incorrect (%d) ; trying to recover by setting it to zero",
fObjlen);
 
 1413         Error(
"Streamer",
"The value of fNbytes is incorrect (%d) ; trying to recover by setting it to zero",
fNbytes);
 
 
 1481      f->WriteBuffer(buffer,
nb);
 
 1490      std::cout <<
"   TKey Writing "<<
nsize<< 
" bytes at address "<<
fSeekKey 
 
 1517      f->WriteBuffer(buffer,
nb);
 
 1526      std::cout <<
"   TKey Writing "<<
nsize<< 
" bytes at address "<<
fSeekKey 
 
void frombuf(char *&buf, Bool_t *x)
 
void tobuf(char *&buf, Bool_t x)
 
unsigned long long ULong64_t
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
const ULong64_t kPidOffsetMask
 
static const TString gTDirectoryString("TDirectory")
 
std::atomic< UInt_t > keyAbsNumber
 
const UChar_t kPidOffsetShift
 
void R__unzip(Int_t *nin, UChar_t *bufin, Int_t *lout, char *bufout, Int_t *nout)
 
int R__unzip_header(Int_t *nin, UChar_t *bufin, Int_t *lout)
 
Using a TBrowser one can browse all ROOT objects.
 
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
 
Buffer base class used for serializing objects.
 
void SetParent(TObject *parent)
Set parent owning this buffer.
 
void SetBufferOffset(Int_t offset=0)
 
virtual void MapObject(const TObject *obj, UInt_t offset=1)=0
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
void Streamer(void *obj, TBuffer &b, const TClass *onfile_class=nullptr) const
 
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
Return a pointer to a newly allocated object of this class.
 
void Destructor(void *obj, Bool_t dtorOnly=kFALSE)
Explicitly call destructor for object.
 
ROOT::DirAutoAdd_t GetDirectoryAutoAdd() const
Return the wrapper around the directory auto add function.
 
Bool_t IsTObject() const
Return kTRUE is the class inherits from TObject.
 
Bool_t InheritsFrom(const char *cl) const override
Return kTRUE if this class inherits from a class with name "classname".
 
Int_t GetBaseClassOffset(const TClass *toBase, void *address=nullptr, bool isDerivedObject=true)
 
Bool_t HasDefaultConstructor(Bool_t testio=kFALSE) const
Return true if we have access to a constructor usable for I/O.
 
TClass * GetActualClass(const void *object) const
Return a pointer to the real class of the object.
 
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
 
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
 
UInt_t Get() const
Return raw date/time as encoded by TDatime.
 
void FillBuffer(char *&buffer)
Encode Date/Time into buffer, used by I/O system.
 
virtual void Streamer(TBuffer &)
Stream a object of type TDatime.
 
void Set()
Set Date/Time to current time as reported by the system.
 
void ReadBuffer(char *&buffer)
Decode Date/Time from output buffer, used by I/O system.
 
A ROOT file is structured in Directories (like a file system).
 
Describe directory structure in memory.
 
virtual Long64_t GetSeekDir() const
 
virtual TList * GetList() const
 
virtual Int_t AppendKey(TKey *)
 
virtual void Append(TObject *obj, Bool_t replace=kFALSE)
Append object to this directory.
 
virtual TFile * GetFile() const
 
virtual TList * GetListOfKeys() const
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
Int_t GetCompressionLevel() const
 
virtual Long64_t GetEND() const
 
virtual void MakeFree(Long64_t first, Long64_t last)
Mark unused bytes on the file.
 
Int_t GetCompressionAlgorithm() const
 
Book space in a file, create I/O buffers, to fill them, (un)compress them.
 
const char * GetTitle() const override
Returns title (title can contain 32x32 xpm thumbnail/icon).
 
static constexpr Version_t Class_Version()
 
void Delete(Option_t *option="") override
Delete an object from the file.
 
Int_t Sizeof() const override
Return the size in bytes of the key header structure.
 
TKey()
TKey default constructor.
 
~TKey() override
TKey default destructor.
 
TFile * GetFile() const
Returns file to which key belong.
 
virtual void Keep()
Set the "KEEP" status.
 
const char * GetIconName() const override
Title can keep 32x32 xpm thumbnail/icon of the parent object.
 
Int_t Read(const char *name) override
Read contents of object with specified name from the current directory.
 
TDatime fDatime
Date/Time of insertion in file.
 
TBuffer * fBufferRef
Pointer to the TBuffer object.
 
UShort_t fPidOffset
!Offset to be added to the pid index in this key/buffer. This is actually saved in the high bits of f...
 
virtual void IncrementPidOffset(UShort_t offset)
Increment fPidOffset by 'offset'.
 
Short_t GetKeep() const
Returns the "KEEP" status.
 
Int_t fVersion
Key version identifier.
 
Bool_t IsFolder() const override
Check if object referenced by the key is a folder.
 
Int_t fLeft
Number of bytes left in current segment.
 
virtual const char * GetClassName() const
 
Short_t fKeylen
Number of bytes for the key itself.
 
virtual Bool_t ReadFile()
Read the key structure from the file.
 
void Browse(TBrowser *b) override
Read object from disk and call its Browse() method.
 
virtual Int_t WriteFileKeepBuffer(TFile *f=nullptr)
Write the encoded object supported by this key.
 
Long64_t fSeekKey
Location of object on file.
 
void Build(TDirectory *motherDir, const char *classname, Long64_t filepos)
Method used in all TKey constructor to initialize basic data fields.
 
char * fBuffer
Object buffer.
 
Long64_t fSeekPdir
Location of parent directory on file.
 
virtual void SetParent(const TObject *parent)
Set parent in key buffer.
 
virtual void * ReadObjectAny(const TClass *expectedClass)
To read an object (non deriving from TObject) from the file.
 
void ReadKeyBuffer(char *&buffer)
Decode input buffer.
 
Int_t fNbytes
Number of bytes for the object on file.
 
Int_t fObjlen
Length of uncompressed object in bytes.
 
void Reset()
Reset the key as it had not been 'filled' yet.
 
Short_t fCycle
Cycle number.
 
virtual TObject * ReadObjWithBuffer(char *bufferRead)
To read a TObject* from bufferRead.
 
virtual void ls(Bool_t current) const
List Key contents.
 
Short_t GetCycle() const
Return cycle number associated to this key.
 
virtual TObject * ReadObj()
To read a TObject* from the file.
 
virtual void Create(Int_t nbytes, TFile *f=nullptr)
Create a TKey object of specified size.
 
virtual void DeleteBuffer()
Delete key buffer(s).
 
virtual Int_t WriteFile(Int_t cycle=1, TFile *f=nullptr)
Write the encoded object supported by this key.
 
virtual void ReadBuffer(char *&buffer)
Decode input buffer.
 
TDirectory * fMotherDir
!pointer to mother directory
 
TString fClassName
Object Class name.
 
void Print(Option_t *option="") const override
Print key contents.
 
void FillBuffer(char *&buffer) override
Encode key header into output buffer.
 
void Streamer(TBuffer &) override
Stream a class object.
 
The TNamed class is the base class for all named ROOT classes.
 
const char * GetName() const override
Returns name of object.
 
Mother of all ROOT objects.
 
virtual Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual void Streamer(TBuffer &)
Stream an object of class TObject.
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
 
virtual TClass * IsA() const
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
 
const char * Data() const
 
void Resize(Ssiz_t n)
Resize the string. Truncate or add blanks as necessary.
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
virtual void FillBuffer(char *&buffer) const
Copy string into I/O buffer.
 
virtual void Streamer(TBuffer &)
Stream a string object.
 
virtual Int_t Sizeof() const
Returns size string will occupy on I/O buffer.
 
virtual void ReadBuffer(char *&buffer)
Read string from I/O buffer.
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
void(* DirAutoAdd_t)(void *, TDirectory *)
 
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
 
EValues
Note: this is only temporarily a struct and will become a enum class hence the name.