Logo ROOT   6.12/07
Reference Guide
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TGenCollectionStreamer Class Reference

Definition at line 17 of file TGenCollectionStreamer.h.

Public Member Functions

 TGenCollectionStreamer (const TGenCollectionStreamer &copy)
 
 TGenCollectionStreamer (Info_t typ, size_t iter_size)
 
 TGenCollectionStreamer (const ROOT::TCollectionProxyInfo &info, TClass *cl)
 
virtual ~TGenCollectionStreamer ()
 
virtual TVirtualCollectionProxyGenerate () const
 Virtual copy constructor. More...
 
virtual void ReadBuffer (TBuffer &b, void *obj, const TClass *onfileClass)
 
virtual void ReadBuffer (TBuffer &b, void *obj)
 
virtual void Streamer (TBuffer &refBuffer)
 Streamer Function. More...
 
virtual void Streamer (TBuffer &buff, void *pObj, int siz)
 Streamer I/O overload. More...
 
virtual void StreamerAsMap (TBuffer &refBuffer)
 
- Public Member Functions inherited from TGenCollectionProxy
 TGenCollectionProxy (const TGenCollectionProxy &copy)
 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 voidAllocate (UInt_t n, Bool_t forceDelete)
 Allocate the needed space. More...
 
virtual voidAt (UInt_t idx)
 Return the address of the value at index 'idx'. More...
 
virtual void Clear (const char *opt="")
 Clear the emulated collection. More...
 
virtual void Commit (void *env)
 Commit the change. More...
 
virtual TClassGetCollectionClass () 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 TStreamerInfoActions::TActionSequenceGetConversionReadMemberWiseActions (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 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 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 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...
 
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 ULong_t GetIncrement () const
 Return the offset between two consecutive value_types (memory layout). More...
 
virtual TClassGetOnFileClass () const
 
virtual TStreamerInfoActions::TActionSequenceGetReadMemberWiseActions (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 EDataType GetType () const
 If the content is a simple numerical value, return its type (see TDataType) More...
 
virtual TClassGetValueClass () const
 Return a pointer to the TClass representing the content. More...
 
virtual TStreamerInfoActions::TActionSequenceGetWriteMemberWiseActions ()
 Return the set of action necessary to stream out this collection member-wise. More...
 
virtual Bool_t HasPointers () const
 Return true if the content is of type 'pointer to'. 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...
 
virtual void operator() (TBuffer &refBuffer, void *pObject)
 TClassStreamer IO overload. More...
 
virtual void PopProxy ()
 Remove the last object. More...
 
virtual void PushProxy (void *objstart)
 Add an object. More...
 
virtual void Resize (UInt_t n, Bool_t force_delete)
 Resize the container. More...
 
virtual void SetOnFileClass (TClass *cl)
 
virtual UInt_t Size () const
 Return the current size of the container. More...
 
virtual UInt_t Sizeof () const
 Return the sizeof the collection object. More...
 
- Public Member Functions inherited from TVirtualCollectionProxy
 TVirtualCollectionProxy ()
 
 TVirtualCollectionProxy (TClass *cl)
 
virtual ~TVirtualCollectionProxy ()
 
virtual void DeleteArray (void *p, Bool_t dtorOnly=kFALSE) const
 
virtual void Destructor (void *p, Bool_t dtorOnly=kFALSE) const
 
virtual Int_t GetProperties () const
 
virtual voidNew () const
 
virtual voidNew (void *arena) const
 
virtual voidNewArray (Int_t nElements) const
 
virtual voidNewArray (Int_t nElements, void *arena) const
 
char * operator[] (UInt_t idx) const
 

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

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. More...
 
virtual void DeleteItem (Bool_t force, void *ptr) const
 Call to delete/destruct individual item. More...
 
TGenCollectionProxyInitialize (Bool_t silent) const
 Proxy initializer. More...
 
virtual TGenCollectionProxyInitializeEx (Bool_t silent)
 Proxy initializer. 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...
 

Protected Attributes

ReadBuffer_t fReadBufferFunc
 
- Protected Attributes inherited from TGenCollectionProxy
Method fClear
 Method cache for container accessors: clear container. More...
 
Collectfunc_t fCollect
 Method to collect objects from container. More...
 
ArrIterfunc_t fConstruct
 Container accessors: block construct. More...
 
std::map< std::string, TObjArray * > * fConversionReadMemberWise
 Array of bundle of TStreamerInfoActions to stream out (read) derived from another class. More...
 
Method0 fCreateEnv
 Method to allocate an Environment holder. More...
 
Sizing_t fDestruct
 Container accessors: block destruct. More...
 
EnvironBase_tfEnv
 Address of the currently proxied object. More...
 
Feedfunc_t fFeed
 Container accessors: block feed. More...
 
Method fFirst
 Container accessors: generic iteration: first. More...
 
CopyIterator_t fFunctionCopyIterator
 
CreateIterators_t fFunctionCreateIterators
 
DeleteIterator_t fFunctionDeleteIterator
 
DeleteTwoIterators_t fFunctionDeleteTwoIterators
 
Next_t fFunctionNextIterator
 
ValuefKey
 Descriptor of the key_type. More...
 
std::string fName
 Name of the class being proxied. More...
 
Method fNext
 Container accessors: generic iteration: next. More...
 
TClassfOnFileClass
 On file class. More...
 
Bool_t fPointers
 Flag to indicate if containee has pointers (key or value) More...
 
Proxies_t fProxyKept
 Optimization: Keep proxies once they were created. More...
 
Proxies_t fProxyList
 Stack of recursive proxies. More...
 
TObjArrayfReadMemberWise
 Array of bundle of TStreamerInfoActions to stream out (read) More...
 
Sizing_t fResize
 Container accessors: resize container. More...
 
Method fSize
 Container accessors: size of container. 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...
 
ValuefVal
 Descriptor of the Value_type. More...
 
int fValDiff
 Offset between two consecutive value_types (memory layout). More...
 
int fValOffset
 Offset from key to value (in maps) More...
 
std::atomic< Value * > fValue
 Descriptor of the container value type. More...
 
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)
 
typedef void(* CreateIterators_t) (void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy)
 
typedef void(* DeleteIterator_t) (void *iter)
 
typedef void(* DeleteTwoIterators_t) (void *begin, void *end)
 
enum  EProperty { kIsAssociative = BIT(2), kIsEmulated = BIT(3), kNeedDelete = BIT(4) }
 
typedef void *(* Next_t) (void *iter, const void *end)
 
- Static Public Attributes inherited from TVirtualCollectionProxy
static const Int_t fgIteratorArenaSize = 16
 

#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 34 of file TGenCollectionStreamer.cxx.

◆ TGenCollectionStreamer() [2/3]

TGenCollectionStreamer::TGenCollectionStreamer ( Info_t  typ,
size_t  iter_size 
)

Definition at line 40 of file TGenCollectionStreamer.cxx.

◆ TGenCollectionStreamer() [3/3]

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

◆ ~TGenCollectionStreamer()

TGenCollectionStreamer::~TGenCollectionStreamer ( )
virtual

Definition at line 52 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 1114 of file TGenCollectionStreamer.cxx.

◆ ConvertBufferVectorPrimitivesDouble32()

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

Definition at line 1138 of file TGenCollectionStreamer.cxx.

◆ ConvertBufferVectorPrimitivesFloat16()

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

Definition at line 1126 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 1150 of file TGenCollectionStreamer.cxx.

◆ Generate()

TVirtualCollectionProxy * TGenCollectionStreamer::Generate ( ) const
virtual

Virtual copy constructor.

Reimplemented from TGenCollectionProxy.

Definition at line 57 of file TGenCollectionStreamer.cxx.

◆ operator=()

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

◆ ReadBuffer() [1/2]

void TGenCollectionStreamer::ReadBuffer ( TBuffer b,
void obj,
const TClass onfileClass 
)
virtual

Reimplemented from TGenCollectionProxy.

Definition at line 1220 of file TGenCollectionStreamer.cxx.

◆ ReadBuffer() [2/2]

void TGenCollectionStreamer::ReadBuffer ( TBuffer b,
void obj 
)
virtual

Reimplemented from TGenCollectionProxy.

Definition at line 1228 of file TGenCollectionStreamer.cxx.

◆ ReadBufferDefault()

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

Definition at line 1236 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 1173 of file TGenCollectionStreamer.cxx.

◆ ReadBufferVectorPrimitivesDouble32()

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

Definition at line 1203 of file TGenCollectionStreamer.cxx.

◆ ReadBufferVectorPrimitivesFloat16()

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

Definition at line 1188 of file TGenCollectionStreamer.cxx.

◆ ReadMap()

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

Definition at line 727 of file TGenCollectionStreamer.cxx.

◆ ReadMapHelper()

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

Definition at line 569 of file TGenCollectionStreamer.cxx.

◆ ReadObjects()

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

Definition at line 364 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 212 of file TGenCollectionStreamer.cxx.

◆ Streamer() [1/2]

void TGenCollectionStreamer::Streamer ( TBuffer refBuffer)
virtual

Streamer Function.

Reimplemented from TGenCollectionProxy.

Definition at line 1388 of file TGenCollectionStreamer.cxx.

◆ Streamer() [2/2]

virtual void TGenCollectionStreamer::Streamer ( TBuffer refBuffer,
void pObject,
int  siz 
)
inlinevirtual

Streamer I/O overload.

Reimplemented from TGenCollectionProxy.

Definition at line 69 of file TGenCollectionStreamer.h.

◆ StreamerAsMap()

void TGenCollectionStreamer::StreamerAsMap ( TBuffer refBuffer)
virtual

Definition at line 1464 of file TGenCollectionStreamer.cxx.

◆ WriteMap()

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

Definition at line 1025 of file TGenCollectionStreamer.cxx.

◆ WriteObjects()

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

Definition at line 967 of file TGenCollectionStreamer.cxx.

◆ WritePrimitives()

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

Definition at line 893 of file TGenCollectionStreamer.cxx.

Member Data Documentation

◆ fReadBufferFunc

ReadBuffer_t TGenCollectionStreamer::fReadBufferFunc
protected

Definition at line 33 of file TGenCollectionStreamer.h.

Libraries for TGenCollectionStreamer:
[legend]

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