46 fIsPointer(isPointer),
47 fIsPrealloc(isPrealloc),
48 fCollectionClass(proxy?proxy->GetCollectionClass():0)
84 char *addr = (
char*)pmember;
94 char *addr = (
char*)pmember;
117 Error(
"TConvertClonesArrayToProxy",
"object tag too large, I/O buffer corrupted");
123 if ( objptr == (
void*)-1 ) {
124 Error(
"TConvertClonesArrayToProxy",
125 "Object can not be found in the buffer's map (at %d)",tag);
137 (*this)(b,&objptr,1);
138 b.SetBufferOffset( currentpos);
140 if (objptr==0)
continue;
147 Error(
"TConvertClonesArrayToProxy",
148 "Object refered to has not been converted from TClonesArray to %s",
152 Error(
"TConvertClonesArrayToProxy",
153 "Object refered to is of type %s instead of %s",
157 *(
void**)addr = objptr;
161 Warning(
"TConvertClonesArrayToProxy",
162 "Only the TClonesArray part of %s will be read into %s!\n",
166 *(
void**)addr = proxy->
New();
185 if (v > 2) objdummy.Streamer(b);
187 if (v > 1) fName.Streamer(b);
189 strncpy(classv,s.
Data(),255);
191 char *semicolon = strchr(classv,
';');
198 printf(
"TClonesArray::Streamer expecting class %s\n", classv);
204 if (nobjects < 0) nobjects = -nobjects;
207 Error(
"TClonesArray::Conversion to vector",
"Bad class");
210 env = proxy->
Allocate(nobjects,
true);
217 for (
Int_t i = 0; i < nobjects; i++) {
220 void* elem = proxy->
At(i);
235 fIsPointer(isPointer),
236 fIsPrealloc(isPrealloc),
247 if (isPointer)
fSizeOf =
sizeof(
void*);
280 char *addr = (
char*)pmember;
291 char *addr = (
char*)pmember;
Describe Streamer information for one class version.
TClass * fCollectionClass
void SetBufferOffset(Int_t offset=0)
static Bool_t CanDelete()
static function returning true if ReadBuffer can delete object
virtual void * Allocate(UInt_t n, Bool_t forceDelete)=0
Class streamer object to implement TClassStreamer functionality for I/O emulation.
virtual void GetMappedObject(UInt_t tag, void *&ptr, TClass *&ClassPtr) const =0
virtual void StreamObject(void *obj, const type_info &typeinfo, const TClass *onFileClass=0)=0
virtual TClass * GetValueClass() const =0
TGenCollectionProxy * GetXYZ()
virtual void Commit(void *)=0
Buffer base class used for serializing objects.
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
void operator()(TBuffer &b, void *pmember, Int_t size=0)
Read a TClonesArray from the TBuffer b and load it into a (stl) collection.
virtual TClass * GetCollectionClass() const
virtual void StreamerAsMap(TBuffer &refBuffer)
const char * Data() const
TClass * GetClass() const
void Error(const char *location, const char *msgfmt,...)
Int_t GetBufferVersion() const
TVirtualStreamerInfo * GetStreamerInfo(Int_t version=0) const
returns a pointer to the TVirtualStreamerInfo object for version If the object does not exist...
void Destructor(void *obj, Bool_t dtorOnly=kFALSE)
Explicitly call destructor for object.
Bool_t TestBit(UInt_t f) const
virtual void * New() const
virtual const char * GetName() const
Returns name of object.
The ROOT global object gROOT contains a list of all defined classes.
void Warning(const char *location, const char *msgfmt,...)
~TConvertClonesArrayToProxy()
Destructor.
virtual void MapObject(const TObject *obj, UInt_t offset=1)=0
virtual TObjArray * GetElements() const =0
ClassImp(TMCParticle) void TMCParticle printf(": p=(%7.3f,%7.3f,%9.3f) ;", fPx, fPy, fPz)
static RooMathCoreReg dummy
virtual void * At(UInt_t idx)=0
TClassStreamer * GetStreamer() const
Return the Streamer Class allowing streaming (if any).
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.
TClass * fCollectionClass
TVirtualCollectionProxy * GetCollectionProxy() const
Return the proxy describing the collection (if any).
Mother of all ROOT objects.
An array of clone (identical) objects.
virtual TClass * ReadClass(const TClass *cl=0, UInt_t *objTag=0)=0
virtual Int_t GetMapCount() const =0
TConvertMapToProxy(TClassStreamer *streamer, Bool_t isPointer, Bool_t isPrealloc)
Constructor.
TObject * At(Int_t idx) const
Int_t ReadBufferSTL(TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t eoffset, Bool_t v7=kTRUE)
The STL vector/list is deserialized from the buffer b.
TConvertClonesArrayToProxy(TVirtualCollectionProxy *proxy, Bool_t isPointer, Bool_t isPrealloc)
Constructor.
virtual Int_t GetBufferDisplacement() const =0
Int_t Size() const
Return size of object of this class.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
void operator()(TBuffer &b, void *pmember, Int_t size=0)
Read a std::map or std::multimap from the TBuffer b and load it into a (stl) collection.