Streamer around a map container.
For optimization reasons this functionality is separated from the TEmulatedProxy.
Definition at line 16 of file TEmulatedMapProxy.h.
Public Member Functions | |
| TEmulatedMapProxy (const char *cl_name, Bool_t silent) | |
| TEmulatedMapProxy (const TEmulatedMapProxy ©) | |
| ~TEmulatedMapProxy () override | |
| void * | At (UInt_t idx) override |
Return the address of the value at index idx | |
| TVirtualCollectionProxy * | Generate () const override |
| Returns a clean object of the actual class that derives from TVirtualCollectionProxy. | |
| void | ReadBuffer (TBuffer &buff, void *pObj) override |
| void | ReadBuffer (TBuffer &buff, void *pObj, const TClass *onfile) override |
| UInt_t | Size () const override |
| Return the current number of elements in the container. | |
| void | Streamer (TBuffer &buff, void *pObj, int siz) override |
| Streamer I/O overload. | |
| void | Streamer (TBuffer &refBuffer) override |
| Streamer Function. | |
Public Member Functions inherited from TEmulatedCollectionProxy | |
| TEmulatedCollectionProxy (const char *cl_name, Bool_t silent) | |
| TEmulatedCollectionProxy (const TEmulatedCollectionProxy ©) | |
| ~TEmulatedCollectionProxy () override | |
| void * | Allocate (UInt_t n, Bool_t forceDelete) override |
Allocates space for storing at least n elements. | |
| void | Clear (const char *opt="") override |
| Clear the container. | |
| void | Commit (void *env) override |
| Commits pending elements in a staging area (see Allocate() for more information). | |
| void | DeleteArray (void *p, Bool_t dtorOnly=kFALSE) const override |
| Execute the container array destructor. | |
| void | Destructor (void *p, Bool_t dtorOnly=kFALSE) const override |
| Execute the container destructor. | |
| void | Insert (const void *data, void *container, size_t size) override |
| Insert data into the container where data is a C-style array of the actual type contained in the collection of the given size. | |
| Bool_t | IsValid () const |
| void * | New () const override |
| Construct a new container object and return its address. | |
| void * | New (void *memory) const override |
Construct a new container object at the address given by arena | |
| void * | NewArray (Int_t nElements) const override |
Construct an array of nElements container objects and return the base address of the array. | |
| void * | NewArray (Int_t nElements, void *memory) const override |
Construct an array of nElements container objects at the address given by arena | |
| TClass::ObjectPtr | NewObject () const override |
| Construct a new container object and return its address. | |
| TClass::ObjectPtr | NewObject (void *memory) const override |
Construct a new container object at the address given by arena | |
| TClass::ObjectPtr | NewObjectArray (Int_t nElements) const override |
Construct an array of nElements container objects and return the base address of the array. | |
| TClass::ObjectPtr | NewObjectArray (Int_t nElements, void *memory) const override |
Construct an array of nElements container objects at the address given by arena | |
| void | Resize (UInt_t n, Bool_t force_delete) override |
| Resize the container. | |
| UInt_t | Sizeof () const override |
Return the sizeof() of the collection object. | |
Public Member Functions inherited from TGenCollectionProxy | |
| TGenCollectionProxy (const ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) | |
| Build a proxy for a collection whose type is described by 'collectionClass'. | |
| TGenCollectionProxy (const TGenCollectionProxy ©) | |
| Build a proxy for an emulated container. | |
| TGenCollectionProxy (Info_t typ, size_t iter_size) | |
| Build a proxy for a collection whose type is described by 'collectionClass'. | |
| ~TGenCollectionProxy () override | |
| Standard destructor. | |
| void * | Allocate (UInt_t n, Bool_t forceDelete) override |
| Allocate the needed space. | |
| void * | At (UInt_t idx) override |
| Return the address of the value at index 'idx'. | |
| void | Clear (const char *opt="") override |
| Clear the emulated collection. | |
| void | Commit (void *env) override |
| Commit the change. | |
| TVirtualCollectionProxy * | Generate () const override |
| Virtual copy constructor. | |
| TClass * | GetCollectionClass () const override |
| Return a pointer to the TClass representing the container. | |
| Int_t | GetCollectionType () const override |
| Return the type of collection see TClassEdit::ESTLType. | |
| TStreamerInfoActions::TActionSequence * | GetConversionReadMemberWiseActions (TClass *oldClass, Int_t version) override |
| Return the set of action necessary to stream in this collection member-wise coming from the old value class layout refered to by 'version'. | |
| CopyIterator_t | GetFunctionCopyIterator (Bool_t read=kTRUE) override |
| See typedef void (*CopyIterator_t)(void *&dest, const void *source); Copy the iterator source, into dest. | |
| CreateIterators_t | GetFunctionCreateIterators (Bool_t read=kTRUE) override |
| 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. | |
| DeleteIterator_t | GetFunctionDeleteIterator (Bool_t read=kTRUE) override |
| See typedef void (*DeleteIterator_t)(void *iter); If the sizeof iterator is greater than fgIteratorArenaSize, call delete on the addresses, Otherwise just call the iterator's destructor. | |
| DeleteTwoIterators_t | GetFunctionDeleteTwoIterators (Bool_t read=kTRUE) override |
| See typedef void (*DeleteTwoIterators_t)(void *begin, void *end); If the sizeof iterator is greater than fgIteratorArenaSize, call delete on the addresses, Otherwise just call the iterator's destructor. | |
| Next_t | GetFunctionNext (Bool_t read=kTRUE) override |
| 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. | |
| ULong_t | GetIncrement () const override |
| Return the offset between two consecutive value_types (memory layout). | |
| virtual TClass * | GetOnFileClass () const |
| TStreamerInfoActions::TActionSequence * | GetReadMemberWiseActions (Int_t version) override |
| Return the set of action necessary to stream in this collection member-wise coming from the old value class layout refered to by 'version'. | |
| EDataType | GetType () const override |
| If the content is a simple numerical value, return its type (see TDataType) | |
| TClass * | GetValueClass () const override |
| Return a pointer to the TClass representing the content. | |
| TStreamerInfoActions::TActionSequence * | GetWriteMemberWiseActions () override |
| Return the set of action necessary to stream out this collection member-wise. | |
| Bool_t | HasPointers () const override |
| Return true if the content is of type 'pointer to'. | |
| void | Insert (const void *data, void *container, size_t size) override |
| Insert data into the container where data is a C-style array of the actual type contained in the collection of the given size. | |
| virtual void | operator() (TBuffer &refBuffer, void *pObject) |
| TClassStreamer IO overload. | |
| void | PopProxy () override |
| Remove the last object. | |
| void | PushProxy (void *objstart) override |
| Add an object. | |
| Bool_t | Reset () override |
| Reset the info gathered from StreamerInfos and value's TClass. | |
| virtual void | SetOnFileClass (TClass *cl) |
| UInt_t | Size () const override |
| Return the current size of the container. | |
| UInt_t | Sizeof () const override |
| Return the sizeof the collection object. | |
Public Member Functions inherited from TVirtualCollectionProxy | |
| TVirtualCollectionProxy () | |
| TVirtualCollectionProxy (TClass *cl) | |
| virtual | ~TVirtualCollectionProxy () |
| virtual Int_t | GetProperties () const |
| Return miscallenous properties of the proxy (see TVirtualCollectionProxy::EProperty) | |
| char * | operator[] (UInt_t idx) const |
Return the address of the value at index idx | |
Protected Member Functions | |
| void | ReadMap (UInt_t nElements, TBuffer &b) |
| void | WriteMap (UInt_t nElements, TBuffer &b) |
Protected Member Functions inherited from TEmulatedCollectionProxy | |
| void | Expand (UInt_t nCurr, UInt_t left) |
| TGenCollectionProxy * | InitializeEx (Bool_t silent) override |
| Proxy initializer. | |
| void | ReadItems (int nElements, TBuffer &b) |
| void | Shrink (UInt_t nCurr, UInt_t left, Bool_t force) |
| void | WriteItems (int nElements, TBuffer &b) |
Protected Member Functions inherited from TGenCollectionProxy | |
| void | CheckFunctions () const |
| Check existence of function pointers. | |
| virtual void | DeleteItem (Bool_t force, void *ptr) const |
| Call to delete/destruct individual item. | |
| TGenCollectionProxy * | Initialize (Bool_t silent) const |
| Proxy initializer. | |
Private Member Functions | |
| TEmulatedMapProxy & | operator= (const TEmulatedMapProxy &rhs) |
Additional Inherited Members | |
Public Types inherited from TEmulatedCollectionProxy | |
| typedef std::vector< char > | Cont_t |
| typedef Cont_t * | PCont_t |
Public Types inherited from TGenCollectionProxy | |
| enum | { kBIT_ISSTRING = 0x20000000 , kBIT_ISTSTRING = 0x40000000 } |
| typedef const std::type_info & | Info_t |
Public Types inherited from TVirtualCollectionProxy | |
| typedef void *(* | CopyIterator_t) (void *dest, const void *source) |
Copy the iterator source into dest. | |
| typedef void(* | CreateIterators_t) (void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy) |
*begin_arena and *end_arena should contain the location of a memory arena of size fgIteratorArenaSize. | |
| typedef void(* | DeleteIterator_t) (void *iter) |
If the size of the iterator is greater than fgIteratorArenaSize, call delete on the addresses; otherwise, just call the iterator's destructor. | |
| typedef void(* | DeleteTwoIterators_t) (void *begin, void *end) |
| enum | EProperty { kIsAssociative = (1ULL << ( 2 )) , kIsEmulated = (1ULL << ( 3 )) , kNeedDelete = (1ULL << ( 4 )) , kCustomAlloc = (1ULL << ( 5 )) } |
| typedef void *(* | Next_t) (void *iter, const void *end) |
iter and end should be pointers to an iterator to be incremented and an iterator that points to the end of the collection, respectively. | |
Static Public Attributes inherited from TVirtualCollectionProxy | |
| static const Int_t | fgIteratorArenaSize = 16 |
| The size of a small buffer that can be allocated on the stack to store iterator-specific information. | |
Protected Types inherited from TGenCollectionProxy | |
| typedef void *(* | ArrIterfunc_t) (void *from, size_t size) |
| typedef void *(* | Collectfunc_t) (void *from, void *to) |
| typedef ROOT::Detail::TCollectionProxyInfo::Environ< char[64]> | Env_t |
| typedef ROOT::Detail::TCollectionProxyInfo::EnvironBase | EnvironBase_t |
| typedef void *(* | Feedfunc_t) (void *from, void *to, size_t size) |
| typedef std::vector< EnvironBase_t * > | Proxies_t |
| typedef void(* | Sizing_t) (void *obj, size_t size) |
| typedef std::vector< TStaging * > | Staged_t |
| Collection of pre-allocated staged array for associative containers. | |
Protected Attributes inherited from TGenCollectionProxy | |
| Method | fClear |
| Method cache for container accessors: clear container. | |
| Collectfunc_t | fCollect |
| Method to collect objects from container. | |
| ArrIterfunc_t | fConstruct |
| Container accessors: block construct. | |
| std::map< std::string, TObjArray * > * | fConversionReadMemberWise |
| Array of bundle of TStreamerInfoActions to stream out (read) derived from another class. | |
| Method0 | fCreateEnv |
| Method to allocate an Environment holder. | |
| Sizing_t | fDestruct |
| Container accessors: block destruct. | |
| EnvironBase_t * | fEnv |
| Address of the currently proxied object. | |
| Feedfunc_t | fFeed |
| Container accessors: block feed. | |
| Method | fFirst |
| Container accessors: generic iteration: first. | |
| CopyIterator_t | fFunctionCopyIterator |
| CreateIterators_t | fFunctionCreateIterators |
| DeleteIterator_t | fFunctionDeleteIterator |
| DeleteTwoIterators_t | fFunctionDeleteTwoIterators |
| Next_t | fFunctionNextIterator |
| Value * | fKey |
| Descriptor of the key_type. | |
| std::string | fName |
| Name of the class being proxied. | |
| 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) | |
| Proxies_t | fProxyKept |
| Optimization: Keep proxies once they were created. | |
| Proxies_t | fProxyList |
| Stack of recursive proxies. | |
| TObjArray * | fReadMemberWise |
| Array of bundle of TStreamerInfoActions to stream out (read) | |
| Sizing_t | fResize |
| Container accessors: resize container. | |
| Method | fSize |
| Container accessors: size of container. | |
| Staged_t | fStaged |
| Optimization: Keep staged array once they were created. | |
| int | fSTL_type |
| STL container type. | |
| Info_t | fTypeinfo |
| Type information. | |
| 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) | |
| std::atomic< Value * > | fValue |
| Descriptor of the container value type. | |
| TStreamerInfoActions::TActionSequence * | fWriteMemberWise |
Protected Attributes inherited from TVirtualCollectionProxy | |
| TClassRef | fClass |
| UInt_t | fProperties |
#include <TEmulatedMapProxy.h>
| TEmulatedMapProxy::TEmulatedMapProxy | ( | const TEmulatedMapProxy & | copy | ) |
Definition at line 39 of file TEmulatedMapProxy.cxx.
| TEmulatedMapProxy::TEmulatedMapProxy | ( | const char * | cl_name, |
| Bool_t | silent ) |
Definition at line 48 of file TEmulatedMapProxy.cxx.
|
override |
Definition at line 57 of file TEmulatedMapProxy.cxx.
|
overridevirtual |
Return the address of the value at index idx
Reimplemented from TEmulatedCollectionProxy.
Definition at line 69 of file TEmulatedMapProxy.cxx.
|
overridevirtual |
Returns a clean object of the actual class that derives from TVirtualCollectionProxy.
The caller is responsible for deleting the returned object.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 62 of file TEmulatedMapProxy.cxx.
|
private |
|
overridevirtual |
Reimplemented from TEmulatedCollectionProxy.
Definition at line 222 of file TEmulatedMapProxy.cxx.
|
overridevirtual |
Reimplemented from TEmulatedCollectionProxy.
Definition at line 214 of file TEmulatedMapProxy.cxx.
Definition at line 91 of file TEmulatedMapProxy.cxx.
|
overridevirtual |
Return the current number of elements in the container.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 80 of file TEmulatedMapProxy.cxx.
|
inlineoverridevirtual |
Streamer I/O overload.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 54 of file TEmulatedMapProxy.h.
|
overridevirtual |
Streamer Function.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 237 of file TEmulatedMapProxy.cxx.
Definition at line 155 of file TEmulatedMapProxy.cxx.