ROOT
6.07/01
Reference Guide
|
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 | |
virtual TVirtualCollectionProxy * | Generate () const |
Virtual copy constructor. More... | |
TEmulatedMapProxy (const TEmulatedMapProxy ©) | |
TEmulatedMapProxy (const char *cl_name, Bool_t silent) | |
virtual | ~TEmulatedMapProxy () |
virtual void * | At (UInt_t idx) |
Return the address of the value at index 'idx'. More... | |
virtual UInt_t | Size () const |
Return the current size of the container. More... | |
virtual void | ReadBuffer (TBuffer &buff, void *pObj) |
virtual void | ReadBuffer (TBuffer &buff, void *pObj, const TClass *onfile) |
virtual void | Streamer (TBuffer &refBuffer) |
Streamer Function. More... | |
virtual void | Streamer (TBuffer &buff, void *pObj, int siz) |
Streamer I/O overload. More... | |
Public Member Functions inherited from TEmulatedCollectionProxy | |
TEmulatedCollectionProxy (const TEmulatedCollectionProxy ©) | |
TEmulatedCollectionProxy (const char *cl_name, Bool_t silent) | |
virtual | ~TEmulatedCollectionProxy () |
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 void | Destructor (void *p, Bool_t dtorOnly=kFALSE) const |
virtual void | DeleteArray (void *p, Bool_t dtorOnly=kFALSE) const |
virtual UInt_t | Sizeof () const |
Return the sizeof the collection object. More... | |
virtual void | Clear (const char *opt="") |
Clear the emulated collection. More... | |
virtual void | Resize (UInt_t n, Bool_t force_delete) |
Resize the container. More... | |
virtual void * | Allocate (UInt_t n, Bool_t forceDelete) |
Allocate the needed space. More... | |
virtual void | Commit (void *env) |
Commit the change. More... | |
virtual void | Insert (const void *data, void *container, size_t size) |
Insert data into the container where data is a C-style array of the actual type contained in the collection of the given size. More... | |
Bool_t | IsValid () const |
Public Member Functions inherited from TGenCollectionProxy | |
TGenCollectionProxy (const TGenCollectionProxy ©) | |
Build a proxy for an emulated container. More... | |
TGenCollectionProxy (Info_t typ, size_t iter_size) | |
Build a proxy for a collection whose type is described by 'collectionClass'. More... | |
TGenCollectionProxy (const ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) | |
Build a proxy for a collection whose type is described by 'collectionClass'. More... | |
virtual | ~TGenCollectionProxy () |
Standard destructor. More... | |
virtual TClass * | GetCollectionClass () const |
Return a pointer to the TClass representing the container. More... | |
virtual Int_t | GetCollectionType () const |
Return the type of collection see TClassEdit::ESTLType. More... | |
virtual ULong_t | GetIncrement () const |
Return the offset between two consecutive value_types (memory layout). More... | |
virtual void | PushProxy (void *objstart) |
Add an object. More... | |
virtual void | PopProxy () |
Remove the last object. More... | |
virtual Bool_t | HasPointers () const |
Return true if the content is of type 'pointer to'. More... | |
virtual TClass * | GetValueClass () const |
Return a pointer to the TClass representing the content. More... | |
virtual EDataType | GetType () const |
If the content is a simple numerical value, return its type (see TDataType) More... | |
virtual void | operator() (TBuffer &refBuffer, void *pObject) |
TClassStreamer IO overload. More... | |
virtual void | SetOnFileClass (TClass *cl) |
virtual TClass * | GetOnFileClass () const |
virtual TStreamerInfoActions::TActionSequence * | GetConversionReadMemberWiseActions (TClass *oldClass, Int_t 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'. More... | |
virtual TStreamerInfoActions::TActionSequence * | GetReadMemberWiseActions (Int_t 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'. More... | |
virtual TStreamerInfoActions::TActionSequence * | GetWriteMemberWiseActions () |
Return the set of action necessary to stream out this collection member-wise. More... | |
virtual CreateIterators_t | GetFunctionCreateIterators (Bool_t read=kTRUE) |
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. More... | |
virtual CopyIterator_t | GetFunctionCopyIterator (Bool_t read=kTRUE) |
See typedef void (*CopyIterator_t)(void *&dest, const void *source); Copy the iterator source, into dest. More... | |
virtual Next_t | GetFunctionNext (Bool_t read=kTRUE) |
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. More... | |
virtual DeleteIterator_t | GetFunctionDeleteIterator (Bool_t read=kTRUE) |
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. More... | |
virtual DeleteTwoIterators_t | GetFunctionDeleteTwoIterators (Bool_t read=kTRUE) |
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. More... | |
Public Member Functions inherited from TVirtualCollectionProxy | |
TVirtualCollectionProxy () | |
TVirtualCollectionProxy (TClass *cl) | |
virtual | ~TVirtualCollectionProxy () |
virtual Int_t | GetProperties () const |
char * | operator[] (UInt_t idx) const |
Protected Member Functions | |
void | ReadMap (UInt_t nElements, TBuffer &b) |
void | WriteMap (UInt_t nElements, TBuffer &b) |
Protected Member Functions inherited from TEmulatedCollectionProxy | |
virtual TGenCollectionProxy * | InitializeEx (Bool_t silent) |
Proxy initializer. More... | |
void | ReadItems (int nElements, TBuffer &b) |
void | WriteItems (int nElements, TBuffer &b) |
void | Shrink (UInt_t nCurr, UInt_t left, Bool_t force) |
void | Expand (UInt_t nCurr, UInt_t left) |
Protected Member Functions inherited from TGenCollectionProxy | |
TGenCollectionProxy * | Initialize (Bool_t silent) const |
Proxy initializer. More... | |
virtual void | DeleteItem (Bool_t force, void *ptr) const |
Call to delete/destruct individual item. More... | |
void | CheckFunctions () const |
Check existence of function pointers. More... | |
virtual void | UpdateValueClass (const TClass *oldcl, TClass *newcl) |
Update the internal ValueClass when a TClass constructor need to replace an emulated TClass by the real TClass. More... | |
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, kBOOL_t = 21 } |
typedef const std::type_info & | Info_t |
Public Types inherited from TVirtualCollectionProxy | |
enum | EProperty { kIsAssociative = BIT(2), kIsEmulated = BIT(3), kNeedDelete = BIT(4) } |
typedef void(* | CreateIterators_t )(void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy) |
typedef void *(* | CopyIterator_t )(void *dest, const void *source) |
typedef void *(* | Next_t )(void *iter, const void *end) |
typedef void(* | DeleteIterator_t )(void *iter) |
typedef void(* | DeleteTwoIterators_t )(void *begin, void *end) |
Static Public Attributes inherited from TVirtualCollectionProxy | |
static const Int_t | fgIteratorArenaSize = 16 |
Protected Types inherited from TGenCollectionProxy | |
typedef ROOT::Detail::TCollectionProxyInfo::Environ < char[64]> | Env_t |
typedef ROOT::Detail::TCollectionProxyInfo::EnvironBase | EnvironBase_t |
typedef std::vector< TStaging * > | Staged_t |
Collection of pre-allocated staged array for associative containers. More... | |
typedef std::vector < EnvironBase_t * > | Proxies_t |
typedef void(* | Sizing_t )(void *obj, size_t size) |
typedef void *(* | Feedfunc_t )(void *from, void *to, size_t size) |
typedef void *(* | Collectfunc_t )(void *from, void *to) |
typedef void *(* | ArrIterfunc_t )(void *from, size_t size) |
Protected Attributes inherited from TGenCollectionProxy | |
TObjArray * | fReadMemberWise |
Array of bundle of TStreamerInfoActions to stream out (read) More... | |
std::map< std::string, TObjArray * > * | fConversionReadMemberWise |
Array of bundle of TStreamerInfoActions to stream out (read) derived from another class. More... | |
TStreamerInfoActions::TActionSequence * | fWriteMemberWise |
std::string | fName |
Name of the class being proxied. More... | |
Bool_t | fPointers |
Flag to indicate if containee has pointers (key or value) More... | |
Method | fClear |
Method cache for container accessors: clear container. More... | |
Method | fSize |
Container accessors: size of container. More... | |
Sizing_t | fResize |
Container accessors: resize container. More... | |
Method | fFirst |
Container accessors: generic iteration: first. More... | |
Method | fNext |
Container accessors: generic iteration: next. More... | |
ArrIterfunc_t | fConstruct |
Container accessors: block construct. More... | |
Sizing_t | fDestruct |
Container accessors: block destruct. More... | |
Feedfunc_t | fFeed |
Container accessors: block feed. More... | |
Collectfunc_t | fCollect |
Method to collect objects from container. More... | |
Method0 | fCreateEnv |
Method to allocate an Environment holder. More... | |
std::atomic< Value * > | fValue |
Descriptor of the container value type. More... | |
Value * | fVal |
Descriptor of the Value_type. More... | |
Value * | fKey |
Descriptor of the key_type. More... | |
EnvironBase_t * | fEnv |
Address of the currently proxied object. More... | |
int | fValOffset |
Offset from key to value (in maps) More... | |
int | fValDiff |
Offset between two consecutive value_types (memory layout). More... | |
Proxies_t | fProxyList |
Stack of recursive proxies. More... | |
Proxies_t | fProxyKept |
Optimization: Keep proxies once they were created. More... | |
Staged_t | fStaged |
Optimization: Keep staged array once they were created. More... | |
int | fSTL_type |
STL container type. More... | |
Info_t | fTypeinfo |
Type information. More... | |
TClass * | fOnFileClass |
On file class. More... | |
CreateIterators_t | fFunctionCreateIterators |
CopyIterator_t | fFunctionCopyIterator |
Next_t | fFunctionNextIterator |
DeleteIterator_t | fFunctionDeleteIterator |
DeleteTwoIterators_t | fFunctionDeleteTwoIterators |
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.
Referenced by Generate().
TEmulatedMapProxy::TEmulatedMapProxy | ( | const char * | cl_name, |
Bool_t | silent | ||
) |
Definition at line 48 of file TEmulatedMapProxy.cxx.
|
virtual |
Definition at line 57 of file TEmulatedMapProxy.cxx.
Return the address of the value at index 'idx'.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 69 of file TEmulatedMapProxy.cxx.
Referenced by ReadMap(), and WriteMap().
|
virtual |
Virtual copy constructor.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 62 of file TEmulatedMapProxy.cxx.
|
private |
Reimplemented from TEmulatedCollectionProxy.
Definition at line 224 of file TEmulatedMapProxy.cxx.
Referenced by ReadBuffer().
Reimplemented from TEmulatedCollectionProxy.
Definition at line 216 of file TEmulatedMapProxy.cxx.
Definition at line 91 of file TEmulatedMapProxy.cxx.
Referenced by ReadBuffer(), and Streamer().
|
virtual |
Return the current size of the container.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 80 of file TEmulatedMapProxy.cxx.
Referenced by Streamer().
Streamer Function.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 239 of file TEmulatedMapProxy.cxx.
Referenced by WriteMap().
|
inlinevirtual |
Streamer I/O overload.
Reimplemented from TEmulatedCollectionProxy.
Definition at line 54 of file TEmulatedMapProxy.h.
Definition at line 156 of file TEmulatedMapProxy.cxx.
Referenced by Streamer().