Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TClassGenerator.h
Go to the documentation of this file.
1 // @(#)root/base:$Id$
2 // Author: Philippe Canal 24/06/2003
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers, and al. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TClassGenerator
13 #define ROOT_TClassGenerator
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TClassGenerator //
18 // //
19 // Objects following this interface can be passed onto the TROOT object //
20 // to implement a user customized way to create the TClass objects. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TObject.h"
25 
26 class TClass;
27 
28 class TClassGenerator : public TObject {
29 
30 protected:
31  TClassGenerator() : TObject() { }
32  virtual ~TClassGenerator() { }
33 
34 public:
35  virtual TClass *GetClass(const char* classname, Bool_t load) = 0;
36  virtual TClass *GetClass(const std::type_info& typeinfo, Bool_t load) = 0;
37  virtual TClass *GetClass(const char* classname, Bool_t load, Bool_t silent);
38  virtual TClass *GetClass(const std::type_info& typeinfo, Bool_t load, Bool_t silent);
39 
40  ClassDef(TClassGenerator,1); // interface for TClass generators
41 };
42 
43 #endif