Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
TGenCollectionStreamer Class Reference

Definition at line 17 of file TGenCollectionStreamer.h.

Public Member Functions

 TGenCollectionStreamer (const ROOT::TCollectionProxyInfo &info, TClass *cl)
 
 TGenCollectionStreamer (const TGenCollectionStreamer &copy)
 
 TGenCollectionStreamer (Info_t typ, size_t iter_size)
 
 ~TGenCollectionStreamer () override
 
TVirtualCollectionProxyGenerate () const override
 Virtual copy constructor.
 
void ReadBuffer (TBuffer &b, void *obj) override
 
void ReadBuffer (TBuffer &b, void *obj, const TClass *onfileClass) override
 
void Streamer (TBuffer &buff, void *pObj, int siz) override
 Streamer I/O overload.
 
void Streamer (TBuffer &refBuffer) override
 Streamer Function.
 
virtual void StreamerAsMap (TBuffer &refBuffer)
 
- 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 &copy)
 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.
 
TClassGetCollectionClass () 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::TActionSequenceGetConversionReadMemberWiseActions (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 TClassGetOnFileClass () const
 
TStreamerInfoActions::TActionSequenceGetReadMemberWiseActions (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)
 
TClassGetValueClass () const override
 Return a pointer to the TClass representing the content.
 
TStreamerInfoActions::TActionSequenceGetWriteMemberWiseActions () 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 Resize (UInt_t n, Bool_t force_delete)
 Resize the container.
 
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 void DeleteArray (void *p, Bool_t dtorOnly=kFALSE) const
 Execute the container array destructor.
 
virtual void Destructor (void *p, Bool_t dtorOnly=kFALSE) const
 Execute the container destructor.
 
virtual Int_t GetProperties () const
 Return miscallenous properties of the proxy (see TVirtualCollectionProxy::EProperty)
 
virtual void * New () const
 Construct a new container object and return its address.
 
virtual void * New (void *arena) const
 Construct a new container object at the address given by arena
 
virtual void * NewArray (Int_t nElements) const
 Construct an array of nElements container objects and return the base address of the array.
 
virtual void * NewArray (Int_t nElements, void *arena) const
 Construct an array of nElements container objects at the address given by arena
 
virtual TClass::ObjectPtr NewObject () const
 Construct a new container object and return its address.
 
virtual TClass::ObjectPtr NewObject (void *arena) const
 Construct a new container object at the address given by arena
 
virtual TClass::ObjectPtr NewObjectArray (Int_t nElements) const
 Construct an array of nElements container objects and return the base address of the array.
 
virtual TClass::ObjectPtr NewObjectArray (Int_t nElements, void *arena) const
 Construct an array of nElements container objects at the address given by arena
 
char * operator[] (UInt_t idx) const
 Return the address of the value at index idx
 

Protected Types

typedef void(TGenCollectionStreamer::* ReadBuffer_t) (TBuffer &b, void *obj, const TClass *onFileClass)
 
- 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 Member Functions

template<typename From , typename To >
void ConvertBufferVectorPrimitives (TBuffer &b, void *obj, Int_t nElements)
 
template<typename To >
void ConvertBufferVectorPrimitivesDouble32 (TBuffer &b, void *obj, Int_t nElements)
 
template<typename To >
void ConvertBufferVectorPrimitivesFloat16 (TBuffer &b, void *obj, Int_t nElements)
 
template<typename To >
void DispatchConvertBufferVectorPrimitives (TBuffer &b, void *obj, Int_t nElements, const TVirtualCollectionProxy *onfileProxy)
 
void ReadBufferDefault (TBuffer &b, void *obj, const TClass *onFileClass)
 
void ReadBufferGeneric (TBuffer &b, void *obj, const TClass *onFileClass)
 
template<typename basictype >
void ReadBufferVectorPrimitives (TBuffer &b, void *obj, const TClass *onFileClass)
 
void ReadBufferVectorPrimitivesDouble32 (TBuffer &b, void *obj, const TClass *onFileClass)
 
void ReadBufferVectorPrimitivesFloat16 (TBuffer &b, void *obj, const TClass *onFileClass)
 
void ReadMap (int nElements, TBuffer &b, const TClass *onfileClass)
 
void ReadMapHelper (StreamHelper *i, Value *v, Bool_t vsn3, TBuffer &b)
 
void ReadObjects (int nElements, TBuffer &b, const TClass *onfileClass)
 
void ReadPairFromMap (int nElements, TBuffer &b)
 
void ReadPrimitives (int nElements, TBuffer &b, const TClass *onfileClass)
 
void WriteMap (int nElements, TBuffer &b)
 
void WriteObjects (int nElements, TBuffer &b)
 
void WritePrimitives (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.
 
TGenCollectionProxyInitialize (Bool_t silent) const
 Proxy initializer.
 
virtual TGenCollectionProxyInitializeEx (Bool_t silent)
 Proxy initializer.
 

Protected Attributes

ReadBuffer_t fReadBufferFunc
 
- 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_tfEnv
 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
 
ValuefKey
 Descriptor of the key_type.
 
std::string fName
 Name of the class being proxied.
 
Method fNext
 Container accessors: generic iteration: next.
 
TClassfOnFileClass
 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.
 
TObjArrayfReadMemberWise
 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.
 
ValuefVal
 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::TActionSequencefWriteMemberWise
 
- Protected Attributes inherited from TVirtualCollectionProxy
TClassRef fClass
 
UInt_t fProperties
 

Private Member Functions

TGenCollectionStreameroperator= (const TGenCollectionStreamer &)
 

Additional Inherited Members

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

#include <TGenCollectionStreamer.h>

Inheritance diagram for TGenCollectionStreamer:
[legend]

Member Typedef Documentation

◆ ReadBuffer_t

typedef void(TGenCollectionStreamer::* TGenCollectionStreamer::ReadBuffer_t) (TBuffer &b, void *obj, const TClass *onFileClass)
protected

Definition at line 32 of file TGenCollectionStreamer.h.

Constructor & Destructor Documentation

◆ TGenCollectionStreamer() [1/3]

TGenCollectionStreamer::TGenCollectionStreamer ( const TGenCollectionStreamer & copy)

Definition at line 35 of file TGenCollectionStreamer.cxx.

◆ TGenCollectionStreamer() [2/3]

TGenCollectionStreamer::TGenCollectionStreamer ( Info_t typ,
size_t iter_size )

Definition at line 41 of file TGenCollectionStreamer.cxx.

◆ TGenCollectionStreamer() [3/3]

TGenCollectionStreamer::TGenCollectionStreamer ( const ROOT::TCollectionProxyInfo & info,
TClass * cl )

Definition at line 47 of file TGenCollectionStreamer.cxx.

◆ ~TGenCollectionStreamer()

TGenCollectionStreamer::~TGenCollectionStreamer ( )
override

Definition at line 53 of file TGenCollectionStreamer.cxx.

Member Function Documentation

◆ ConvertBufferVectorPrimitives()

template<typename From , typename To >
void TGenCollectionStreamer::ConvertBufferVectorPrimitives ( TBuffer & b,
void * obj,
Int_t nElements )
protected

Definition at line 1113 of file TGenCollectionStreamer.cxx.

◆ ConvertBufferVectorPrimitivesDouble32()

template<typename To >
void TGenCollectionStreamer::ConvertBufferVectorPrimitivesDouble32 ( TBuffer & b,
void * obj,
Int_t nElements )
protected

Definition at line 1137 of file TGenCollectionStreamer.cxx.

◆ ConvertBufferVectorPrimitivesFloat16()

template<typename To >
void TGenCollectionStreamer::ConvertBufferVectorPrimitivesFloat16 ( TBuffer & b,
void * obj,
Int_t nElements )
protected

Definition at line 1125 of file TGenCollectionStreamer.cxx.

◆ DispatchConvertBufferVectorPrimitives()

template<typename To >
void TGenCollectionStreamer::DispatchConvertBufferVectorPrimitives ( TBuffer & b,
void * obj,
Int_t nElements,
const TVirtualCollectionProxy * onfileProxy )
protected

Definition at line 1149 of file TGenCollectionStreamer.cxx.

◆ Generate()

TVirtualCollectionProxy * TGenCollectionStreamer::Generate ( ) const
overridevirtual

Virtual copy constructor.

Reimplemented from TGenCollectionProxy.

Definition at line 58 of file TGenCollectionStreamer.cxx.

◆ operator=()

TGenCollectionStreamer & TGenCollectionStreamer::operator= ( const TGenCollectionStreamer & )
private

◆ ReadBuffer() [1/2]

void TGenCollectionStreamer::ReadBuffer ( TBuffer & b,
void * obj )
overridevirtual

Reimplemented from TGenCollectionProxy.

Definition at line 1227 of file TGenCollectionStreamer.cxx.

◆ ReadBuffer() [2/2]

void TGenCollectionStreamer::ReadBuffer ( TBuffer & b,
void * obj,
const TClass * onfileClass )
overridevirtual

Reimplemented from TGenCollectionProxy.

Definition at line 1219 of file TGenCollectionStreamer.cxx.

◆ ReadBufferDefault()

void TGenCollectionStreamer::ReadBufferDefault ( TBuffer & b,
void * obj,
const TClass * onFileClass )
protected

Definition at line 1235 of file TGenCollectionStreamer.cxx.

◆ ReadBufferGeneric()

void TGenCollectionStreamer::ReadBufferGeneric ( TBuffer & b,
void * obj,
const TClass * onFileClass )
protected

Definition at line 1305 of file TGenCollectionStreamer.cxx.

◆ ReadBufferVectorPrimitives()

template<typename basictype >
void TGenCollectionStreamer::ReadBufferVectorPrimitives ( TBuffer & b,
void * obj,
const TClass * onFileClass )
protected

Definition at line 1172 of file TGenCollectionStreamer.cxx.

◆ ReadBufferVectorPrimitivesDouble32()

void TGenCollectionStreamer::ReadBufferVectorPrimitivesDouble32 ( TBuffer & b,
void * obj,
const TClass * onFileClass )
protected

Definition at line 1202 of file TGenCollectionStreamer.cxx.

◆ ReadBufferVectorPrimitivesFloat16()

void TGenCollectionStreamer::ReadBufferVectorPrimitivesFloat16 ( TBuffer & b,
void * obj,
const TClass * onFileClass )
protected

Definition at line 1187 of file TGenCollectionStreamer.cxx.

◆ ReadMap()

void TGenCollectionStreamer::ReadMap ( int nElements,
TBuffer & b,
const TClass * onfileClass )
protected

Definition at line 725 of file TGenCollectionStreamer.cxx.

◆ ReadMapHelper()

void TGenCollectionStreamer::ReadMapHelper ( StreamHelper * i,
Value * v,
Bool_t vsn3,
TBuffer & b )
protected

Definition at line 567 of file TGenCollectionStreamer.cxx.

◆ ReadObjects()

void TGenCollectionStreamer::ReadObjects ( int nElements,
TBuffer & b,
const TClass * onfileClass )
protected

Definition at line 366 of file TGenCollectionStreamer.cxx.

◆ ReadPairFromMap()

void TGenCollectionStreamer::ReadPairFromMap ( int nElements,
TBuffer & b )
protected

Definition at line 471 of file TGenCollectionStreamer.cxx.

◆ ReadPrimitives()

void TGenCollectionStreamer::ReadPrimitives ( int nElements,
TBuffer & b,
const TClass * onfileClass )
protected

Definition at line 213 of file TGenCollectionStreamer.cxx.

◆ Streamer() [1/2]

void TGenCollectionStreamer::Streamer ( TBuffer & refBuffer,
void * pObject,
int siz )
inlineoverridevirtual

Streamer I/O overload.

Reimplemented from TGenCollectionProxy.

Definition at line 69 of file TGenCollectionStreamer.h.

◆ Streamer() [2/2]

void TGenCollectionStreamer::Streamer ( TBuffer & refBuffer)
overridevirtual

Streamer Function.

Reimplemented from TGenCollectionProxy.

Definition at line 1389 of file TGenCollectionStreamer.cxx.

◆ StreamerAsMap()

void TGenCollectionStreamer::StreamerAsMap ( TBuffer & refBuffer)
virtual

Definition at line 1467 of file TGenCollectionStreamer.cxx.

◆ WriteMap()

void TGenCollectionStreamer::WriteMap ( int nElements,
TBuffer & b )
protected

Definition at line 1024 of file TGenCollectionStreamer.cxx.

◆ WriteObjects()

void TGenCollectionStreamer::WriteObjects ( int nElements,
TBuffer & b )
protected

Definition at line 965 of file TGenCollectionStreamer.cxx.

◆ WritePrimitives()

void TGenCollectionStreamer::WritePrimitives ( int nElements,
TBuffer & b )
protected

Definition at line 891 of file TGenCollectionStreamer.cxx.

Member Data Documentation

◆ fReadBufferFunc

ReadBuffer_t TGenCollectionStreamer::fReadBufferFunc
protected

Definition at line 33 of file TGenCollectionStreamer.h.

Libraries for TGenCollectionStreamer:

The documentation for this class was generated from the following files: