11#ifndef ROOT_TGenCollectionProxy 
   12#define ROOT_TGenCollectionProxy 
   39   typedef const std::type_info&      
Info_t;
 
   41   typedef const std::type_info& 
Info_t;
 
   73      Value(
const std::string& info, 
Bool_t silent, 
size_t hint_pair_offset = 0, 
size_t hint_pair_size = 0);
 
  110         return (std::string*)
this;
 
  113         return ((std::string*)
this)->c_str();
 
  116         return (*(std::string**)
this)->c_str();
 
  124         ((std::string*)
this)->assign(s.
Data());
 
  133         std::string* str2 = (std::string*)
ptr();
 
  134         if (!str2) str2 = 
new std::string();
 
  142            std::string* strptr = (*(std::string**)
this);
 
  143            c = (
const char*)(strptr->c_str());
 
  153            else if ( 
v->fType )  { 
 
  154               v->fType->Destructor(
p);
 
  156            else if ( 
v->fDtor )  {
 
  158               ::operator 
delete(
p);
 
  161               ::operator 
delete(
p);
 
  164         set( 
b.ReadObjectAny(
v->fType) );
 
  195      typedef void* (*Call_t)(
void*);
 
  215      typedef void* (*Call_t)();
 
  295   typedef void* (*Feedfunc_t)(
void *from, 
void *to, 
size_t size);
 
  296   typedef void* (*Collectfunc_t)(
void *from, 
void *to);
 
  297   typedef void* (*ArrIterfunc_t)(
void *from, 
size_t size);
 
  396   void Clear(
const char *opt = 
"") 
override;
 
  409   void  Insert(
const void *
data, 
void *container, 
size_t size) 
override;
 
  412   void Commit(
void* env) 
override;
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
unsigned long long ULong64_t
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
 
Buffer base class used for serializing objects.
 
TClassRef is used to implement a permanent reference to a TClass object.
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
TCollectionProxyFactory Interface to collection proxy and streamer generator.
 
Method0 & operator=(const Method0 &m)
 
Method0(const Method0 &m)
 
Small helper to execute (compiler) generated function for the access to STL or other containers.
 
Method & operator=(const Method &m)
 
void * invoke(void *obj) const
 
Small helper to stage the content of an associative container when reading and before inserting it in...
 
void Resize(size_t nelement)
 
size_t fSizeOf
size of each elements
 
TStaging & operator=(const TStaging &)
Not implemented.
 
size_t fSize
Number of elements.
 
TStaging(const TStaging &)
Not implemented.
 
void * fContent
Pointer to the content.
 
void SetTarget(void *target)
 
size_t fReserved
Amount of space already reserved.
 
void * fTarget
Pointer to the collection we are staging for.
 
TStaging(size_t size, size_t size_of)
 
Proxy around an arbitrary container, which implements basic functionality and iteration.
 
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...
 
Method fFirst
Container accessors: generic iteration: first.
 
std::atomic< Value * > fValue
Descriptor of the container value type.
 
std::vector< EnvironBase_t * > Proxies_t
 
Next_t fFunctionNextIterator
 
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 coll...
 
virtual ~TGenCollectionProxy()
Standard destructor.
 
std::vector< TStaging * > Staged_t
Collection of pre-allocated staged array for associative containers.
 
Bool_t fPointers
Flag to indicate if containee has pointers (key or value)
 
Method fNext
Container accessors: generic iteration: next.
 
virtual void Streamer(TBuffer &refBuffer)
Streamer Function.
 
TStreamerInfoActions::TActionSequence * fWriteMemberWise
 
void * Allocate(UInt_t n, Bool_t forceDelete) override
Allocate the needed space.
 
void *(* Feedfunc_t)(void *from, void *to, size_t size)
 
ROOT::Detail::TCollectionProxyInfo::Environ< char[64]> Env_t
 
Bool_t Reset() override
Reset the info gathered from StreamerInfos and value's TClass.
 
Info_t fTypeinfo
Type information.
 
int fValOffset
Offset from key to value (in maps)
 
TClass * GetValueClass() const override
Return a pointer to the TClass representing the content.
 
EnvironBase_t * fEnv
Address of the currently proxied object.
 
DeleteIterator_t fFunctionDeleteIterator
 
Collectfunc_t fCollect
Method to collect objects from container.
 
void PushProxy(void *objstart) override
Add an object.
 
void PopProxy() override
Remove the last object.
 
EDataType GetType() const override
If the content is a simple numerical value, return its type (see TDataType)
 
TGenCollectionProxy * Initialize(Bool_t silent) const
Proxy initializer.
 
virtual TGenCollectionProxy * InitializeEx(Bool_t silent)
Proxy initializer.
 
void *(* ArrIterfunc_t)(void *from, size_t size)
 
TGenCollectionProxy & operator=(const TGenCollectionProxy &)
 
void Commit(void *env) override
Commit the change.
 
std::string fName
Name of the class being proxied.
 
CopyIterator_t GetFunctionCopyIterator(Bool_t read=kTRUE) override
See typedef void (*CopyIterator_t)(void *&dest, const void *source); Copy the iterator source,...
 
int fSTL_type
STL container type.
 
CopyIterator_t fFunctionCopyIterator
 
ULong_t GetIncrement() const override
Return the offset between two consecutive value_types (memory layout).
 
Value * fKey
Descriptor of the key_type.
 
virtual TClass * GetOnFileClass() const
 
virtual void Resize(UInt_t n, Bool_t force_delete)
Resize the container.
 
void(* Sizing_t)(void *obj, size_t size)
 
Int_t GetCollectionType() const override
Return the type of collection see TClassEdit::ESTLType.
 
void Clear(const char *opt="") override
Clear the emulated collection.
 
Proxies_t fProxyList
Stack of recursive proxies.
 
DeleteIterator_t GetFunctionDeleteIterator(Bool_t read=kTRUE) override
See typedef void (*DeleteIterator_t)(void *iter); If the sizeof iterator is greater than fgIteratorAr...
 
UInt_t Size() const override
Return the current size of the container.
 
Sizing_t fDestruct
Container accessors: block destruct.
 
Method0 fCreateEnv
Method to allocate an Environment holder.
 
Value * fVal
Descriptor of the Value_type.
 
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...
 
virtual void operator()(TBuffer &refBuffer, void *pObject)
TClassStreamer IO overload.
 
TClass * fOnFileClass
On file class.
 
Sizing_t fResize
Container accessors: resize container.
 
ArrIterfunc_t fConstruct
Container accessors: block construct.
 
void * At(UInt_t idx) override
Return the address of the value at index 'idx'.
 
DeleteTwoIterators_t GetFunctionDeleteTwoIterators(Bool_t read=kTRUE) override
See typedef void (*DeleteTwoIterators_t)(void *begin, void *end); If the sizeof iterator is greater t...
 
std::map< std::string, TObjArray * > * fConversionReadMemberWise
Array of bundle of TStreamerInfoActions to stream out (read) derived from another class.
 
void CheckFunctions() const
Check existence of function pointers.
 
virtual TVirtualCollectionProxy * Generate() const override
Virtual copy constructor.
 
DeleteTwoIterators_t fFunctionDeleteTwoIterators
 
TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions() override
Return the set of action necessary to stream out this collection member-wise.
 
virtual void SetOnFileClass(TClass *cl)
 
Bool_t HasPointers() const override
Return true if the content is of type 'pointer to'.
 
CreateIterators_t fFunctionCreateIterators
 
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...
 
TObjArray * fReadMemberWise
Array of bundle of TStreamerInfoActions to stream out (read)
 
ROOT::Detail::TCollectionProxyInfo::EnvironBase EnvironBase_t
 
virtual void DeleteItem(Bool_t force, void *ptr) const
Call to delete/destruct individual item.
 
TClass * GetCollectionClass() const override
Return a pointer to the TClass representing the container.
 
Staged_t fStaged
Optimization: Keep staged array once they were created.
 
Method fSize
Container accessors: size of container.
 
Method fClear
Method cache for container accessors: clear container.
 
Feedfunc_t fFeed
Container accessors: block feed.
 
CreateIterators_t GetFunctionCreateIterators(Bool_t read=kTRUE) override
See typedef void (*CreateIterators_t)(void *collection, void *&begin_arena, void *&end_arena); begin_...
 
void *(* Collectfunc_t)(void *from, void *to)
 
int fValDiff
Offset between two consecutive value_types (memory layout).
 
virtual void ReadBuffer(TBuffer &b, void *obj)
 
Proxies_t fProxyKept
Optimization: Keep proxies once they were created.
 
UInt_t Sizeof() const override
Return the sizeof the collection object.
 
const std::type_info & Info_t
 
void Clear()
Clear string without changing its capacity.
 
const char * Data() const
 
virtual void Streamer(TBuffer &)
Stream a string object.
 
void(* CreateIterators_t)(void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy)
 
void *(* CopyIterator_t)(void *dest, const void *source)
 
void *(* Next_t)(void *iter, const void *end)
 
void(* DeleteTwoIterators_t)(void *begin, void *end)
 
void(* DeleteIterator_t)(void *iter)
 
void(* DesFunc_t)(void *)
 
void(* DelFunc_t)(void *)
 
void *(* NewFunc_t)(void *)
 
virtual ~AnyCollectionProxy()
 
Small helper to save proxy environment in the event of recursive calls.
 
Small helper to describe the Value_type or the key_type of an STL container.
 
void DeleteItem(void *ptr)
 
UInt_t fCase
type of data of Value_type
 
TClassRef fType
TClass reference of Value_type in collection.
 
UInt_t fProperties
Additional properties of the value type (kNeedDelete)
 
size_t fSize
fSize of the contained object
 
ROOT::DelFunc_t fDelete
Method cache for containee delete.
 
ROOT::DesFunc_t fDtor
Method cache for containee destructor.
 
ROOT::NewFunc_t fCtor
Method cache for containee constructor.
 
EDataType fKind
kind of ROOT-fundamental type
 
Bool_t IsValid()
Return true if the Value has been properly initialized.
 
Helper class to facilitate I/O.
 
void read_tstring_pointer(Bool_t vsn3, TBuffer &b)
 
void read_any_object(Value *v, TBuffer &b)
 
void * read_tstring(TBuffer &b)
 
void write_std_string_pointer(TBuffer &b)
 
void write_tstring_pointer(TBuffer &b)
 
void read_std_string_pointer(TBuffer &b)
 
void read_std_string(TBuffer &b)