]> git.uio.no Git - u/mrichter/AliRoot.git/blame - CONTAINERS/AliClassInfo.h
The operator[] is replaced by At() or AddAt() in case of TObjArray.
[u/mrichter/AliRoot.git] / CONTAINERS / AliClassInfo.h
CommitLineData
08edbb90 1#ifndef ALICLASSINFO_H
2#define ALICLASSINFO_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// AliClassInfo //
11// //
12// Defined to make unified interface to primitive types (in Root described by//
13// TDataType) and TClass. //
14// //
15// Origin: Marian Ivanov, Uni. of Bratislava, ivanov@fmph.uniba.sk //
16///////////////////////////////////////////////////////////////////////////////
17
18
19#include "TNamed.h"
20class TDataType;
21
22
23
24class AliClassInfo : public TNamed {
25public:
26 AliClassInfo(){;}
27 virtual ~AliClassInfo(){;}
28 virtual void CTORBuffer(void * pointer, UInt_t size=1){;}
29 // {return (*ctorbuffer)(p,size);}
30 virtual void DTORBuffer(void * pointer, UInt_t size=1){;}
31 //{return (*dtorbuffer)(p,size);}
32 virtual void StreamBuffer(TBuffer& b, const void *object, UInt_t size){;}
33 //{return (*streamb)(b,object,size);}
34 virtual void ObjectDump(void *p){;}
35 virtual const char * GetClassName(){ return 0;}
36 virtual TClass * GetClass(){return 0;}
37 virtual TDataType * GetDataType(){return 0;}
38 const UInt_t Size(){return fSize;}
39 static AliClassInfo * FindClassInfo(const char * name);
40 static AliClassInfo * GenerClassInfo(const char * clname);
41 static void GenerClassInfoCode(const char * clname, Bool_t load,
42 const char *incpath, const char *outfile);
43 const TList & GetListOfClass(){return fgList;}
44protected:
45 static Bool_t GenerClassInterface(const char * clname, FILE * fout);
46 static TList fgList; // list of loaded class
47 UInt_t fSize; //size of object
48 ClassDef(AliClassInfo,1)
49};
50
51
52#endif //ALICLASSINFO_H
53