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