Step size region by region.
[u/mrichter/AliRoot.git] / CONTAINERS / AliArrayVT.h
1 #ifndef ALIARRAYVT_H
2 #define ALIARRAYVT_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9
10 class AliArrayVT: public TObject{
11   //
12   //function object
13   //for AliObjectArray
14   //
15 public: 
16   AliArrayVT(){cmp=0; mkbuffer=0; delbuffer=0; stream=0; dump=0;fClass=0;}
17
18   int      Compare(void* p1, void* p2) { return (*cmp)(p1,p2);}
19   char *   MakeBuffer(UInt_t size) { return (*mkbuffer)(size);}
20   void     DeleteBuffer(void * p) { return (*delbuffer)(p);}  
21   void     CTORBuffer(void *p,  const UInt_t size) { return (*ctorbuffer)(p,size);}
22   void     DTORBuffer(void * p, const UInt_t size) { return (*dtorbuffer)(p,size);}
23   void     ObjectCTOR(void *p) { return (*objectctor)(p);}
24   void     ObjectDTOR(void * p) { return (*objectdtor)(p);}  
25   void     StreamObject(TBuffer& b, void * object) {return (*stream)(b, object);} 
26   void     StreamBuffer(TBuffer& b, const void *object, UInt_t size) {return (*streamb)(b,object,size);}
27   void     ClassDump(void *p) { return (*dump)(p);}
28 public: 
29   int     (*cmp)(void*, void*);
30   char*   (*mkbuffer)(UInt_t );
31   void    (*delbuffer)(void*);
32   void    (*objectctor)(void*);
33   void    (*objectdtor)(void*);    
34   void    (*ctorbuffer)(void*, UInt_t size);
35   void    (*dtorbuffer)(void*, UInt_t size);  
36  
37   void    (*stream)(TBuffer &, void *);
38   void    (*streamb)(TBuffer &, const void *,UInt_t);
39   void    (*dump)(void*);  
40   TString  fClassName;   //class name of the object
41   TClass * fClass;       //!class type of the object
42   UInt_t   fSize;        //size of object
43   //ClassDef(AliArrayVT,0) 
44   ClassDef(AliArrayVT,1) 
45 };
46
47 #endif //ALIARRAYVT
48