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.
void | CheckFunctions() const |
virtual void | DeleteItem(Bool_t force, void* ptr) const |
TGenCollectionProxy* | Initialize(Bool_t silent) const |
virtual TGenCollectionProxy* | InitializeEx(Bool_t silent) |
virtual void | UpdateValueClass(const TClass* oldcl, TClass* newcl) |
TGenCollectionProxy& | operator=(const TGenCollectionProxy&) |
TGenCollectionProxy() |
static const Int_t | TVirtualCollectionProxy::fgIteratorArenaSize | greater than sizeof(void*) + sizeof(UInt_t) |
static TGenCollectionProxy::<anonymous> | kBIT_ISSTRING | |
static TGenCollectionProxy::<anonymous> | kBIT_ISTSTRING | |
static TGenCollectionProxy::<anonymous> | kBOOL_t | |
static TVirtualCollectionProxy::EProperty | TVirtualCollectionProxy::kIsAssociative | |
static TVirtualCollectionProxy::EProperty | TVirtualCollectionProxy::kIsEmulated | |
static TVirtualCollectionProxy::EProperty | TVirtualCollectionProxy::kIsInitialized | |
static TVirtualCollectionProxy::EProperty | TVirtualCollectionProxy::kNeedDelete |
TClassRef | TVirtualCollectionProxy::fClass | |
TGenCollectionProxy::Method | fClear | Method cache for container accessors: clear container |
TGenCollectionProxy::Collectfunc_t | fCollect | Method to collect objects from container |
TGenCollectionProxy::ArrIterfunc_t | fConstruct | Container accessors: block construct |
map<string,TObjArray*>* | fConversionReadMemberWise | Array of bundle of TStreamerInfoActions to stream out (read) derived from another class. |
TGenCollectionProxy::Method0 | fCreateEnv | Method to allocate an Environment holder. |
TGenCollectionProxy::Sizing_t | fDestruct | Container accessors: block destruct |
TGenCollectionProxy::EnvironBase_t* | fEnv | Address of the currently proxied object |
TGenCollectionProxy::Feedfunc_t | fFeed | Container accessors: block feed |
TGenCollectionProxy::Method | fFirst | Container accessors: generic iteration: first |
TVirtualCollectionProxy::CopyIterator_t | fFunctionCopyIterator | |
TVirtualCollectionProxy::CreateIterators_t | fFunctionCreateIterators | |
TVirtualCollectionProxy::DeleteIterator_t | fFunctionDeleteIterator | |
TVirtualCollectionProxy::DeleteTwoIterators_t | fFunctionDeleteTwoIterators | |
TVirtualCollectionProxy::Next_t | fFunctionNextIterator | |
TGenCollectionProxy::Value* | fKey | Descriptor of the key_type |
string | fName | Name of the class being proxied. |
TGenCollectionProxy::Method | fNext | Container accessors: generic iteration: next |
TClass* | fOnFileClass | On file class |
Bool_t | fPointers | Flag to indicate if containee has pointers (key or value) |
UInt_t | TVirtualCollectionProxy::fProperties | |
TGenCollectionProxy::Proxies_t | fProxyKept | Optimization: Keep proxies once they were created |
TGenCollectionProxy::Proxies_t | fProxyList | Stack of recursive proxies |
TObjArray* | fReadMemberWise | Array of bundle of TStreamerInfoActions to stream out (read) |
TGenCollectionProxy::Sizing_t | fResize | Container accessors: resize container |
int | fSTL_type | STL container type |
TGenCollectionProxy::Method | fSize | Container accessors: size of container |
TGenCollectionProxy::Staged_t | fStaged | Optimization: Keep staged array once they were created |
TGenCollectionProxy::Info_t | fTypeinfo | Type information |
TGenCollectionProxy::Value* | fVal | Descriptor of the Value_type |
int | fValDiff | Offset between two consecutive value_types (memory layout). |
int | fValOffset | Offset from key to value (in maps) |
TGenCollectionProxy::Value* | fValue | Descriptor of the container value type |
TStreamerInfoActions::TActionSequence* | fWriteMemberWise |
Build a proxy for a collection whose type is described by 'collectionClass'.
Build a proxy for a collection whose type is described by 'collectionClass'.
If the content is a simple numerical value, return its type (see TDataType)
Insert data into the container where data is a C-style array of the actual type contained in the collection of the given size. For associative container (map, etc.), the data type is the pair<key,value>.
See typedef void (*CreateIterators_t)(void *collection, void *&begin_arena, void *&end_arena); begin_arena and end_arena should contain the location of memory arena of size fgIteratorSize. If the collection iterator are of that size or less, the iterators will be constructed in place in those location (new with placement) Otherwise the iterators will be allocated via a regular new and their address returned by modifying the value of begin_arena and end_arena.
See typedef void (*CopyIterator_t)(void *&dest, const void *source); Copy the iterator source, into dest. dest should contain should contain the location of memory arena of size fgIteratorSize. If the collection iterator are of that size or less, the iterator will be constructed in place in this location (new with placement) Otherwise the iterator will be allocated via a regular new and its address returned by modifying the value of dest.
See typedef void* (*Next_t)(void *iter, void *end); iter and end should be pointer to respectively an iterator to be incremented and the result of colleciton.end() 'Next' will increment the iterator 'iter' and return 0 if the iterator reached the end. If the end is not reached, 'Next' will return the address of the content unless the collection contains pointers in which case 'Next' will return the value of the pointer.
Return the set of action necessary to stream in this collection member-wise coming from the old value class layout refered to by 'version'.
Return the set of action necessary to stream in this collection member-wise coming from the old value class layout refered to by 'version'.
Return the set of action necessary to stream out this collection member-wise.