12#ifndef ROOT_TVirtualCollectionProxy 
   13#define ROOT_TVirtualCollectionProxy 
   30#define ROOT_COLLECTIONPROXY_VERSION 3 
   34   class TActionSequence;
 
  180   virtual void Clear(
const char *opt = 
"") = 0;
 
  227   typedef void* (*CopyIterator_t)(
void *
dest, 
const void *
source);
 
  236   typedef void* (*Next_t)(
void *iter, 
const void *end);
 
  244   typedef void (*DeleteIterator_t)(
void *iter);
 
  245   typedef void (*DeleteTwoIterators_t)(
void *begin, 
void *end);
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
TClassRef is used to implement a permanent reference to a TClass object.
 
TClass * GetClass() const
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
void * NewArray(Long_t nElements, ENewType defConstructor=kClassNew) const
Return a pointer to a newly allocated array of objects of this class.
 
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
Return a pointer to a newly allocated object of this class.
 
void Destructor(void *obj, Bool_t dtorOnly=kFALSE)
Explicitly call destructor for object.
 
void DeleteArray(void *ary, Bool_t dtorOnly=kFALSE)
Explicitly call operator delete[] for an array.
 
ObjectPtr NewObjectArray(Long_t nElements, ENewType defConstructor=kClassNew) const
Return a pointer to a newly allocated array of objects of this class.
 
ObjectPtr NewObject(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
 
RAII helper class that ensures that PushProxy() / PopProxy() are called when entering / leaving a C++...
 
TPushPop & operator=(const TPushPop &)=delete
 
TPushPop(const TPushPop &)=delete
 
TPushPop(TVirtualCollectionProxy *proxy, void *objectstart)
 
TVirtualCollectionProxy * fProxy
 
Defines a common interface to inspect/change the contents of an object that represents a collection.
 
virtual Int_t GetProperties() const
Return miscallenous properties of the proxy (see TVirtualCollectionProxy::EProperty)
 
virtual void PushProxy(void *objectstart)=0
Set the address of the container being proxied and keep track of the previous one.
 
TVirtualCollectionProxy()
 
virtual UInt_t Sizeof() const =0
Return the sizeof() of the collection object.
 
virtual ULong_t GetIncrement() const =0
Return the offset between two consecutive in-memory values (which depends on the sizeof() and alignme...
 
virtual TStreamerInfoActions::TActionSequence * GetReadMemberWiseActions(Int_t version)=0
 
virtual TClass::ObjectPtr NewObjectArray(Int_t nElements) const
Construct an array of nElements container objects and return the base address of the array.
 
virtual void Destructor(void *p, Bool_t dtorOnly=kFALSE) const
Execute the container destructor.
 
virtual EDataType GetType() const =0
If the value type is a fundamental data type, return its type (see enumeration EDataType).
 
@ kCustomAlloc
The collection has a custom allocator.
 
@ kNeedDelete
The collection contains directly or indirectly (via other collection) some pointers that need explici...
 
char * operator[](UInt_t idx) const
Return the address of the value at index idx
 
virtual void * NewArray(Int_t nElements, void *arena) const
Construct an array of nElements container objects at the address given by arena
 
virtual void Clear(const char *opt="")=0
Clear the container.
 
virtual TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions()=0
 
virtual void * New() const
Construct a new container object and return its address.
 
virtual void PopProxy()=0
Reset the address of the container being proxied to the previous container.
 
virtual void DeleteArray(void *p, Bool_t dtorOnly=kFALSE) const
Execute the container array destructor.
 
virtual TClass * GetValueClass() const =0
If the value type is a user-defined class, return a pointer to the TClass representing the value type...
 
virtual TClass::ObjectPtr NewObject(void *arena) const
Construct a new container object at the address given by arena
 
virtual void Commit(void *)=0
Commits pending elements in a staging area (see Allocate() for more information).
 
TVirtualCollectionProxy(TClass *cl)
 
virtual TClass::ObjectPtr NewObject() const
Construct a new container object and return its address.
 
virtual void * At(UInt_t idx)=0
Return the address of the value at index idx
 
virtual Int_t GetCollectionType() const =0
Return the type of the proxied collection (see enumeration TClassEdit::ESTLType)
 
virtual Next_t GetFunctionNext(Bool_t read=kTRUE)=0
Return a pointer to a function that can advance an iterator (see Next_t).
 
virtual DeleteTwoIterators_t GetFunctionDeleteTwoIterators(Bool_t read=kTRUE)=0
 
virtual UInt_t Size() const =0
Return the current number of elements in the container.
 
virtual void * NewArray(Int_t nElements) const
Construct an array of nElements container objects and return the base address of the array.
 
virtual void * New(void *arena) const
Construct a new container object at the address given by arena
 
static const Int_t fgIteratorArenaSize
The size of a small buffer that can be allocated on the stack to store iterator-specific information.
 
virtual TVirtualCollectionProxy * Generate() const =0
Returns a clean object of the actual class that derives from TVirtualCollectionProxy.
 
virtual Bool_t Reset()
Reset the information gathered from StreamerInfos and value's TClass.
 
virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read=kTRUE)=0
Return a pointer to a function that can create an iterator pair, where each iterator points to the be...
 
virtual TClass::ObjectPtr NewObjectArray(Int_t nElements, void *arena) const
Construct an array of nElements container objects at the address given by arena
 
virtual ~TVirtualCollectionProxy()
 
virtual void * Allocate(UInt_t n, Bool_t forceDelete)=0
Allocates space for storing at least n elements.
 
virtual TStreamerInfoActions::TActionSequence * GetConversionReadMemberWiseActions(TClass *oldClass, Int_t version)=0
 
TVirtualCollectionProxy & operator=(const TVirtualCollectionProxy &)=delete
 
virtual DeleteIterator_t GetFunctionDeleteIterator(Bool_t read=kTRUE)=0
Return a pointer to a function that can delete an iterator (pair) (see DeleteIterator_t).
 
TVirtualCollectionProxy(const TVirtualCollectionProxy &)=delete
 
virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read=kTRUE)=0
Return a pointer to a function that can copy an iterator (see CopyIterator_t).
 
virtual Bool_t HasPointers() const =0
Return true if the content is of type 'pointer to'.
 
virtual TClass * GetCollectionClass() const
Return a pointer to the TClass representing the proxied container class.
 
virtual void Insert(const void *data, void *container, size_t size)=0
Insert elements into the proxied container.