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.
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.