ROOT logo
ROOT » IO » IO » TEmulatedCollectionProxy

class TEmulatedCollectionProxy: public TGenCollectionProxy


 TEmulatedCollectionProxy

 Streamer around an arbitrary container, which implements basic
 functionality and iteration.

 In particular this is used to implement splitting and abstract
 element access of any container. Access to compiled code is necessary
 to implement the abstract iteration sequence and functionality like
 size(), clear(), resize(). resize() may be a void operation.


Function Members (Methods)

public:
TEmulatedCollectionProxy(const TEmulatedCollectionProxy& copy)
TEmulatedCollectionProxy(const char* cl_name, Bool_t silent)
virtual~TEmulatedCollectionProxy()
virtual void*Allocate(UInt_t n, Bool_t forceDelete)
virtual void*At(UInt_t idx)
virtual voidClear(const char* opt = "")
virtual voidCommit(void* env)
virtual voidDeleteArray(void* p, Bool_t dtorOnly = kFALSE)
virtual voidDestructor(void* p, Bool_t dtorOnly = kFALSE)
virtual TVirtualCollectionProxy*Generate() const
virtual TClass*TGenCollectionProxy::GetCollectionClass()
virtual Int_tTGenCollectionProxy::GetCollectionType()
virtual TStreamerInfoActions::TActionSequence*TGenCollectionProxy::GetConversionReadMemberWiseActions(TClass* oldClass, Int_t version)
virtual TVirtualCollectionProxy::CopyIterator_tTGenCollectionProxy::GetFunctionCopyIterator(Bool_t read = kTRUE)
virtual TVirtualCollectionProxy::CreateIterators_tTGenCollectionProxy::GetFunctionCreateIterators(Bool_t read = kTRUE)
virtual TVirtualCollectionProxy::DeleteIterator_tTGenCollectionProxy::GetFunctionDeleteIterator(Bool_t read = kTRUE)
virtual TVirtualCollectionProxy::DeleteTwoIterators_tTGenCollectionProxy::GetFunctionDeleteTwoIterators(Bool_t read = kTRUE)
virtual TVirtualCollectionProxy::Next_tTGenCollectionProxy::GetFunctionNext(Bool_t read = kTRUE)
virtual ULong_tTGenCollectionProxy::GetIncrement()
virtual TClass*TGenCollectionProxy::GetOnFileClass() const
virtual Int_tTVirtualCollectionProxy::GetProperties()
virtual TStreamerInfoActions::TActionSequence*TGenCollectionProxy::GetReadMemberWiseActions(Int_t version)
virtual EDataTypeTGenCollectionProxy::GetType()
virtual TClass*TGenCollectionProxy::GetValueClass()
virtual TStreamerInfoActions::TActionSequence*TGenCollectionProxy::GetWriteMemberWiseActions()
virtual Bool_tTGenCollectionProxy::HasPointers() const
Bool_tIsValid() const
virtual void*New() const
virtual void*New(void* memory) const
virtual void*NewArray(Int_t nElements) const
virtual void*NewArray(Int_t nElements, void* memory) const
virtual voidTGenCollectionProxy::operator()(TBuffer& refBuffer, void* pObject)
char*TVirtualCollectionProxy::operator[](UInt_t idx) const
virtual voidTGenCollectionProxy::PopProxy()
virtual voidTGenCollectionProxy::PushProxy(void* objstart)
virtual voidReadBuffer(TBuffer& buff, void* pObj)
virtual voidReadBuffer(TBuffer& buff, void* pObj, const TClass* onfile)
virtual voidResize(UInt_t n, Bool_t force_delete)
virtual voidTGenCollectionProxy::SetOnFileClass(TClass* cl)
virtual voidTGenCollectionProxy::SetValueClass(TClass* newcl)
virtual UInt_tSize() const
virtual UInt_tSizeof() const
virtual voidStreamer(TBuffer& refBuffer)
virtual voidStreamer(TBuffer& buff, void* pObj, int siz)
protected:
voidTGenCollectionProxy::CheckFunctions() const
virtual voidTGenCollectionProxy::DeleteItem(Bool_t force, void* ptr) const
voidExpand(UInt_t nCurr, UInt_t left)
TGenCollectionProxy*TGenCollectionProxy::Initialize(Bool_t silent) const
virtual TGenCollectionProxy*InitializeEx(Bool_t silent)
voidReadItems(int nElements, TBuffer& b)
voidShrink(UInt_t nCurr, UInt_t left, Bool_t force)
voidWriteItems(int nElements, TBuffer& b)

Data Members

public:
enum TGenCollectionProxy::[unnamed] { kBIT_ISSTRING
kBIT_ISTSTRING
kBOOL_t
};
enum TVirtualCollectionProxy::EProperty { kIsInitialized
kIsAssociative
kIsEmulated
kNeedDelete
};
public:
static const Int_tTVirtualCollectionProxy::fgIteratorArenaSizegreater than sizeof(void*) + sizeof(UInt_t)
protected:
TClassRefTVirtualCollectionProxy::fClass
TGenCollectionProxy::MethodTGenCollectionProxy::fClearMethod cache for container accessors: clear container
TGenCollectionProxy::MethodTGenCollectionProxy::fCollectMethod to collect objects from container
void*TGenCollectionProxy::fConstructContainer accessors: block construct
map<std::string,TObjArray*>*TGenCollectionProxy::fConversionReadMemberWiseArray of bundle of TStreamerInfoActions to stream out (read) derived from another class.
TGenCollectionProxy::Method0TGenCollectionProxy::fCreateEnvMethod to allocate an Environment holder.
void*TGenCollectionProxy::fDestructContainer accessors: block destruct
ROOT::TCollectionProxyInfo::EnvironBase*TGenCollectionProxy::fEnvAddress of the currently proxied object
void*TGenCollectionProxy::fFeedContainer accessors: block feed
TGenCollectionProxy::MethodTGenCollectionProxy::fFirstContainer accessors: generic iteration: first
void*TGenCollectionProxy::fFunctionCreateIterators
void*TGenCollectionProxy::fFunctionDeleteTwoIterators
TGenCollectionProxy::Value*TGenCollectionProxy::fKeyDescriptor of the key_type
stringTGenCollectionProxy::fNameName of the class being proxied.
TGenCollectionProxy::MethodTGenCollectionProxy::fNextContainer accessors: generic iteration: next
TClass*TGenCollectionProxy::fOnFileClassOn file class
Bool_tTGenCollectionProxy::fPointersFlag to indicate if containee has pointers (key or value)
UInt_tTVirtualCollectionProxy::fProperties
vector<ROOT::TCollectionProxyInfo::EnvironBase*,allocator<ROOT::TCollectionProxyInfo::EnvironBase*> >TGenCollectionProxy::fProxyKeptOptimization: Keep proxies once they were created
vector<ROOT::TCollectionProxyInfo::EnvironBase*,allocator<ROOT::TCollectionProxyInfo::EnvironBase*> >TGenCollectionProxy::fProxyListStack of recursive proxies
TObjArray*TGenCollectionProxy::fReadMemberWiseArray of bundle of TStreamerInfoActions to stream out (read)
void*TGenCollectionProxy::fResizeContainer accessors: resize container
intTGenCollectionProxy::fSTL_typeSTL container type
TGenCollectionProxy::MethodTGenCollectionProxy::fSizeContainer accessors: size of container
vector<TGenCollectionProxy::TStaging*,allocator<TGenCollectionProxy::TStaging*> >TGenCollectionProxy::fStagedOptimization: Keep staged array once they were created
type_info&TGenCollectionProxy::fTypeinfoType information
TGenCollectionProxy::Value*TGenCollectionProxy::fValDescriptor of the Value_type
intTGenCollectionProxy::fValDiffOffset between two consecutive value_types (memory layout).
intTGenCollectionProxy::fValOffsetOffset from key to value (in maps)
TGenCollectionProxy::Value*TGenCollectionProxy::fValueDescriptor of the container value type
TStreamerInfoActions::TActionSequence*TGenCollectionProxy::fWriteMemberWise

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEmulatedCollectionProxy(const TEmulatedCollectionProxy& copy)
 Build a Streamer for an emulated vector whose type is 'name'.
TEmulatedCollectionProxy(const char* cl_name, Bool_t silent)
 Build a Streamer for a collection whose type is described by 'collectionClass'.
~TEmulatedCollectionProxy()
 Standard destructor
TVirtualCollectionProxy* Generate() const
 Virtual copy constructor
void Destructor(void* p, Bool_t dtorOnly = kFALSE)
 Virtual destructor
void DeleteArray(void* p, Bool_t dtorOnly = kFALSE)
 Virtual array destructor
TGenCollectionProxy * InitializeEx(Bool_t silent)
 Proxy initializer
Bool_t IsValid() const
 Return true if the collection proxy was well initialized.
UInt_t Size() const
 Return the current size of the container
void Clear(const char* opt = "")
 Clear the emulated collection.
void Shrink(UInt_t nCurr, UInt_t left, Bool_t force)
 Shrink the container
void Expand(UInt_t nCurr, UInt_t left)
 Expand the container
void Resize(UInt_t n, Bool_t force_delete)
 Resize the container
void* At(UInt_t idx)
 Return the address of the value at index 'idx'
void* Allocate(UInt_t n, Bool_t forceDelete)
 Allocate the necessary space.
void Commit(void* env)
void ReadItems(int nElements, TBuffer& b)
 Object input streamer
void WriteItems(int nElements, TBuffer& b)
 Object output streamer
void ReadBuffer(TBuffer& buff, void* pObj, const TClass* onfile)
 Read portion of the streamer.
void ReadBuffer(TBuffer& buff, void* pObj)
 Read portion of the streamer.
void Streamer(TBuffer& refBuffer)
 TClassStreamer IO overload
TEmulatedCollectionProxy & operator=(const TEmulatedCollectionProxy& )
void* New() const
 Virtual constructor
{ return new Cont_t; }
void* New(void* memory) const
 Virtual in-place constructor
{ return new(memory) Cont_t; }
void* NewArray(Int_t nElements) const
 Virtual array constructor
{ return new Cont_t[nElements]; }
void* NewArray(Int_t nElements, void* memory) const
 Virtual in-place constructor
{ return new(memory) Cont_t[nElements]; }
UInt_t Sizeof() const
 TVirtualCollectionProxy overload: Return the sizeof the collection object.
{ return sizeof(Cont_t); }
void Streamer(TBuffer& refBuffer)
 Streamer for I/O handling