12 #ifndef ROOT_TVirtualCollectionProxy
13 #define ROOT_TVirtualCollectionProxy
34 #define ROOT_COLLECTIONPROXY_VERSION 3
37 namespace TStreamerInfoActions {
38 class TActionSequence;
92 virtual void *
New()
const {
96 virtual void *
New(
void *arena)
const {
125 virtual void PushProxy(
void *objectstart) = 0;
143 virtual void Clear(
const char *opt =
"") = 0;
151 virtual void Commit(
void*) = 0;
153 virtual void Insert(
const void *data,
void *container,
size_t size) = 0;
173 typedef void* (*CopyIterator_t)(
void *
dest,
const void *source);
180 typedef void* (*Next_t)(
void *
iter,
const void *end);
TVirtualCollectionProxy * fProxy
void(* DeleteIterator_t)(void *iter)
virtual Int_t GetCollectionType() const =0
double read(const std::string &file_name)
reading
virtual Int_t GetProperties() const
virtual void * Allocate(UInt_t n, Bool_t forceDelete)=0
virtual Next_t GetFunctionNext(Bool_t read=kTRUE)=0
virtual TStreamerInfoActions::TActionSequence * GetReadMemberWiseActions(Int_t version)=0
virtual TStreamerInfoActions::TActionSequence * GetConversionReadMemberWiseActions(TClass *oldClass, Int_t version)=0
virtual void UpdateValueClass(const TClass *oldcl, TClass *newcl)=0
virtual TClass * GetValueClass() const =0
virtual void PushProxy(void *objectstart)=0
virtual void Commit(void *)=0
virtual void * NewArray(Int_t nElements, void *arena) const
virtual void Clear(const char *opt="")=0
TPushPop & operator=(const TPushPop &)
char * operator[](UInt_t idx) const
virtual DeleteIterator_t GetFunctionDeleteIterator(Bool_t read=kTRUE)=0
virtual EDataType GetType() const =0
void *(* CopyIterator_t)(void *dest, const void *source)
void DeleteArray(void *ary, Bool_t dtorOnly=kFALSE)
Explicitly call operator delete[] for an array.
virtual TClass * GetCollectionClass() const
TPushPop(TVirtualCollectionProxy *proxy, void *objectstart)
TVirtualCollectionProxy()
virtual void * New(void *arena) const
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
Return a pointer to a newly allocated object of this class.
std::map< std::string, std::string >::const_iterator iter
TVirtualCollectionProxy & operator=(const TVirtualCollectionProxy &)
virtual DeleteTwoIterators_t GetFunctionDeleteTwoIterators(Bool_t read=kTRUE)=0
virtual CreateIterators_t GetFunctionCreateIterators(Bool_t read=kTRUE)=0
virtual void Destructor(void *p, Bool_t dtorOnly=kFALSE) const
virtual Bool_t HasPointers() const =0
void Destructor(void *obj, Bool_t dtorOnly=kFALSE)
Explicitly call destructor for object.
virtual TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions()=0
virtual void Insert(const void *data, void *container, size_t size)=0
virtual void * New() const
The ROOT global object gROOT contains a list of all defined classes.
static const Int_t fgIteratorArenaSize
virtual void * NewArray(Int_t nElements) const
virtual ULong_t GetIncrement() const =0
virtual void PopProxy()=0
virtual UInt_t Sizeof() const =0
void(* CreateIterators_t)(void *collection, void **begin_arena, void **end_arena, TVirtualCollectionProxy *proxy)
void *(* Next_t)(void *iter, const void *end)
virtual void * At(UInt_t idx)=0
virtual CopyIterator_t GetFunctionCopyIterator(Bool_t read=kTRUE)=0
TClass * GetClass() const
virtual UInt_t Size() const =0
TClassRef is used to implement a permanent reference to a TClass object.
typedef void((*Func_t)())
#define dest(otri, vertexptr)
void(* DeleteTwoIterators_t)(void *begin, void *end)
virtual ~TVirtualCollectionProxy()
virtual void DeleteArray(void *p, Bool_t dtorOnly=kFALSE) const
TVirtualCollectionProxy(TClass *cl)
void * NewArray(Long_t nElements, ENewType defConstructor=kClassNew) const
Return a pointer to a newly allocated array of objects of this class.
virtual TVirtualCollectionProxy * Generate() const =0