class TGenCollectionProxy: public TVirtualCollectionProxy


 TGenCollectionProxy

 Proxy 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:
TGenCollectionProxy(const TGenCollectionProxy& copy)
TGenCollectionProxy(TGenCollectionProxy::Info_t typ, size_t iter_size)
TGenCollectionProxy(const ROOT::TCollectionProxyInfo& info, TClass* cl)
virtual~TGenCollectionProxy()
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 voidTVirtualCollectionProxy::DeleteArray(void* p, Bool_t dtorOnly = kFALSE)
virtual voidTVirtualCollectionProxy::Destructor(void* p, Bool_t dtorOnly = kFALSE)
virtual TVirtualCollectionProxy*Generate() const
virtual TClass*GetCollectionClass()
virtual TClass*GetOnFileClass() const
virtual EDataTypeGetType()
virtual TClass*GetValueClass()
virtual Bool_tHasPointers() const
virtual void*TVirtualCollectionProxy::New() const
virtual void*TVirtualCollectionProxy::New(void* arena) const
virtual void*TVirtualCollectionProxy::NewArray(Int_t nElements) const
virtual void*TVirtualCollectionProxy::NewArray(Int_t nElements, void* arena) const
virtual voidoperator()(TBuffer& refBuffer, void* pObject)
char*TVirtualCollectionProxy::operator[](UInt_t idx) const
virtual voidPopProxy()
virtual voidPushProxy(void* objstart)
virtual voidResize(UInt_t n, Bool_t force_delete)
virtual voidSetOnFileClass(TClass* cl)
virtual voidSetValueClass(TClass* newcl)
virtual UInt_tSize() const
virtual UInt_tSizeof() const
virtual voidStreamer(TBuffer& refBuffer)
virtual voidStreamer(TBuffer& refBuffer, void* pObject, int siz)
protected:
voidCheckFunctions() const
virtual voidDeleteItem(Bool_t force, void* ptr) const
TGenCollectionProxy*Initialize() const
virtual TGenCollectionProxy*InitializeEx()

Data Members

public:
enum { kBIT_ISSTRING
kBIT_ISTSTRING
kBOOL_t
};
protected:
TClassRefTVirtualCollectionProxy::fClass
TGenCollectionProxy::MethodfClearMethod cache for container accessors: clear container
TGenCollectionProxy::MethodfCollectMethod to collect objects from container
TGenCollectionProxy::MethodfConstructContainer accessors: block construct
TGenCollectionProxy::MethodfDestructContainer accessors: block destruct
ROOT::TCollectionProxyInfo::Environ<char[64]>*fEnvAddress of the currently proxied object
TGenCollectionProxy::MethodfFeedContainer accessors: block feed
TGenCollectionProxy::MethodfFirstContainer accessors: generic iteration: first
TGenCollectionProxy::Value*fKeyDescriptor of the key_type
stringfNameName of the class being proxied.
TGenCollectionProxy::MethodfNextContainer accessors: generic iteration: next
TClass*fOnFileClassOn file class
Bool_tfPointersFlag to indicate if containee has pointers (key or value)
vector<ROOT::TCollectionProxyInfo::Environ<char[64]>*,allocator<ROOT::TCollectionProxyInfo::Environ<char[64]>*> >fProxyKeptOptimization: Keep proxies once they were created
vector<ROOT::TCollectionProxyInfo::Environ<char[64]>*,allocator<ROOT::TCollectionProxyInfo::Environ<char[64]>*> >fProxyListStack of recursive proxies
TGenCollectionProxy::MethodfResizeContainer accessors: resize container
intfSTL_typeSTL container type
TGenCollectionProxy::MethodfSizeContainer accessors: size of container
type_info&fTypeinfoType information
TGenCollectionProxy::Value*fValDescriptor of the Value_type
intfValDiffOffset between two consecutive value_types (memory layout).
intfValOffsetOffset from key to value (in maps)
TGenCollectionProxy::Value*fValueDescriptor of the container value type

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGenCollectionProxy(const TGenCollectionProxy& copy)
 Build a proxy for an emulated container.
TGenCollectionProxy(Info_t info, size_t iter_size)
 Build a proxy for a collection whose type is described by 'collectionClass'.
TGenCollectionProxy(const ROOT::TCollectionProxyInfo &info, TClass *cl)
 Build a proxy for a collection whose type is described by 'collectionClass'.
~TGenCollectionProxy()
 Standard destructor
TVirtualCollectionProxy* Generate()
 Virtual copy constructor
TGenCollectionProxy * Initialize()
 Proxy initializer
void CheckFunctions()
 Check existence of function pointers
TGenCollectionProxy * InitializeEx()
 Proxy initializer
TClass * GetCollectionClass()
 Return a pointer to the TClass representing the container
UInt_t Sizeof()
 Return the sizeof the collection object.
Bool_t HasPointers()
 Return true if the content is of type 'pointer to'
TClass * GetValueClass()
 Return a pointer to the TClass representing the content.
void SetValueClass(TClass* newcl)
 Set pointer to the TClass representing the content.
EDataType GetType()
 If the content is a simple numerical value, return its type (see TDataType)
void* At(UInt_t idx)
 Return the address of the value at index 'idx'
void Clear(const char* opt = "")
 Clear the emulated collection.
UInt_t Size()
 Return the current size of the container
void Resize(UInt_t n, Bool_t force_delete)
 Resize the container
void* Allocate(UInt_t n, Bool_t forceDelete)
 Allocate the needed space.
void Commit(void* env)
 Commit the change.
void PushProxy(void* objstart)
 Add an object.
void PopProxy()
 Remove the last object.
void DeleteItem(Bool_t force, void* ptr) const
 Call to delete/destruct individual item.
void Streamer(TBuffer& refBuffer)
 Streamer Function.
void Streamer(TBuffer& refBuffer, void* pObject, int siz)
 Streamer I/O overload
void operator()(TBuffer& refBuffer, void* pObject)
 TClassStreamer IO overload
void SetOnFileClass(TClass* cl)
{ fOnFileClass = cl; }
TClass* GetOnFileClass()
{ return fOnFileClass; }

Author: Markus Frank 28/10/04
Last change: root/io:$Id: TGenCollectionProxy.h 25450 2008-09-18 21:13:42Z pcanal $
Last generated: 2008-09-19 09:32
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.