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;