#define ClassDef(name, id)
char *(* ReAllocCharFun_t)(char *, size_t, size_t)
Direct subclass of TBuffer, implements common methods for TBufferFile and TBufferText classes.
static void SetGlobalReadParam(Int_t mapsize)
Set the initial size of the map used to store object and class references during reading.
virtual UInt_t GetTRefExecId()
Return the exec id stored in the current TStreamerInfo element.
virtual Int_t GetMapCount() const
virtual void SetBufferDisplacement()
virtual void ResetMap()
Delete existing fMap and reset map counter.
static void SetGlobalWriteParam(Int_t mapsize)
Set the initial size of the map used to store object and class references during reading.
virtual void GetMappedObject(UInt_t tag, void *&ptr, TClass *&ClassPtr) const
Retrieve the object stored in the buffer's object map at 'tag' Set ptr and ClassPtr respectively to t...
virtual Int_t WriteClones(TClonesArray *a, Int_t nobjects)
Interface to TStreamerInfo::WriteBufferClones.
virtual UShort_t WriteProcessID(TProcessID *pid)
Check if the ProcessID pid is already in the file.
virtual void WriteObjectClass(const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse)=0
TExMap * fMap
Map containing object,offset pairs for reading/writing.
virtual void SetWriteParam(Int_t mapsize)
Set the initial size of the hashtable used to store object and class references during writing.
virtual Int_t ReadClones(TClonesArray *a, Int_t nobjects, Version_t objvers)
Interface to TStreamerInfo::ReadBufferClones.
virtual void MapObject(const TObject *obj, UInt_t offset=1)
Add object to the fMap container.
virtual void SetPidOffset(UShort_t offset)
This offset is used when a key (or basket) is transfered from one file to the other.
virtual void ForceWriteInfo(TVirtualStreamerInfo *info, Bool_t force)
force writing the TStreamerInfo to the file
Long64_t GetObjectTag(const void *obj)
Returns tag for specified object from objects map (if exists) Returns 0 if object not included into o...
virtual Int_t GetVersionOwner() const
Return the version number of the owner file.
virtual TProcessID * GetLastProcessID(TRefTable *reftable) const
Return the last TProcessID in the file.
virtual void TagStreamerInfo(TVirtualStreamerInfo *info)
Mark the classindex of the current file as using this TStreamerInfo.
TExMap * fClassMap
Map containing object,class pairs for reading.
virtual Bool_t CheckObject(const TObject *obj)
Check if the specified object is already in the buffer.
virtual Int_t GetBufferDisplacement() const
Int_t fDisplacement
Value to be added to the map offsets.
virtual void ForceWriteInfoClones(TClonesArray *a)
Make sure TStreamerInfo is not optimized, otherwise it will not be possible to support schema evoluti...
static R__ALWAYS_INLINE ULong_t Void_Hash(const void *ptr)
Return hash value for provided object.
virtual ~TBufferIO()
destructor
virtual UShort_t GetPidOffset() const
virtual void WriteObject(const TObject *obj, Bool_t cacheReuse=kTRUE)
Write object to I/O buffer.
virtual void Reset()
Reset buffer object. Resets map and buffer offset.
virtual Int_t WriteObjectAny(const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE)
Write object to I/O buffer.
virtual TProcessID * ReadProcessID(UShort_t pidf)
The TProcessID with number pidf is read from file.
virtual void CheckCount(UInt_t)
Int_t fMapCount
Number of objects or classes in map.
static Int_t GetGlobalReadParam()
Get default read map size.
virtual void SetReadParam(Int_t mapsize)
Set the initial size of the map used to store object and class references during reading.
static Int_t fgMapSize
Default map size for all TBuffer objects.
UShort_t fPidOffset
Offset to be added to the pid index in this key/buffer.
virtual void SetBufferDisplacement(Int_t skipped)
virtual void InitMap()
Create the fMap container and initialize them with the null object.
Int_t fMapSize
Default size of map.
static Int_t GetGlobalWriteParam()
Get default write map size.
Buffer base class used for serializing objects.
virtual void WriteObject(const TObject *obj, Bool_t cacheReuse)=0
TClass instances represent classes, structs and namespaces in the ROOT type system.
An array of clone (identical) objects.
This class stores a (key,value) pair using an external hash.
Mother of all ROOT objects.
A TProcessID identifies a ROOT job in a unique way in time and space.
A TRefTable maintains the association between a referenced object and the parent object supporting th...
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
Abstract Interface class describing Streamer information for one class.