11 #ifndef ROOT_TEmulatedCollectionProxy
12 #define ROOT_TEmulatedCollectionProxy
16 class TEmulatedCollectionProxy :
public TGenCollectionProxy {
19 friend class TCollectionProxy;
23 typedef std::vector<char> Cont_t;
25 typedef Cont_t *PCont_t;
29 virtual TGenCollectionProxy* InitializeEx(Bool_t silent);
32 void ReadItems(
int nElements, TBuffer &b);
35 void WriteItems(
int nElements, TBuffer &b);
38 void Shrink(UInt_t nCurr, UInt_t left, Bool_t force);
41 void Expand(UInt_t nCurr, UInt_t left);
44 TEmulatedCollectionProxy &operator=(
const TEmulatedCollectionProxy &);
48 virtual TVirtualCollectionProxy* Generate()
const;
51 TEmulatedCollectionProxy(
const TEmulatedCollectionProxy& copy);
54 TEmulatedCollectionProxy(
const char* cl_name, Bool_t silent);
57 virtual ~TEmulatedCollectionProxy();
60 virtual void* New()
const {
return new Cont_t; }
63 virtual void* New(
void* memory)
const {
return new(memory) Cont_t; }
66 virtual void* NewArray(Int_t nElements)
const {
return new Cont_t[nElements]; }
69 virtual void* NewArray(Int_t nElements,
void* memory)
const {
return new(memory) Cont_t[nElements]; }
72 virtual void Destructor(
void* p, Bool_t dtorOnly = kFALSE)
const;
75 virtual void DeleteArray(
void* p, Bool_t dtorOnly = kFALSE)
const;
78 virtual UInt_t Sizeof()
const {
return sizeof(Cont_t); }
81 virtual void *At(UInt_t idx);
84 virtual void Clear(
const char *opt =
"");
87 virtual void Resize(UInt_t n, Bool_t force_delete);
90 virtual UInt_t Size()
const;
93 virtual void* Allocate(UInt_t n, Bool_t forceDelete);
96 virtual void Commit(
void* env);
100 virtual void Insert(
const void *data,
void *container,
size_t size);
103 virtual void ReadBuffer(TBuffer &buff,
void *pObj);
104 virtual void ReadBuffer(TBuffer &buff,
void *pObj,
const TClass *onfile);
107 virtual void Streamer(TBuffer &refBuffer);
110 virtual void Streamer(TBuffer &buff,
void *pObj,
int siz) {
111 TGenCollectionProxy::Streamer(buff,pObj,siz);
115 Bool_t IsValid()
const;