Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights 1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 2 // See the file tools.license for terms. 3 3 4 #ifndef tools_rroot_iro 4 #ifndef tools_rroot_iro 5 #define tools_rroot_iro 5 #define tools_rroot_iro 6 6 7 #include <string> 7 #include <string> 8 8 9 namespace tools { 9 namespace tools { 10 namespace rroot { 10 namespace rroot { 11 class buffer; 11 class buffer; 12 }} 12 }} 13 13 14 #include "../cid" 14 #include "../cid" 15 15 16 namespace tools { 16 namespace tools { 17 namespace rroot { 17 namespace rroot { 18 18 19 class iro { 19 class iro { 20 public: 20 public: 21 virtual ~iro(){} 21 virtual ~iro(){} 22 public: 22 public: 23 virtual void* cast(const std::string&) const 23 virtual void* cast(const std::string&) const = 0; //for ObjArray 24 virtual bool stream(buffer&) = 0; 24 virtual bool stream(buffer&) = 0; 25 25 26 virtual const std::string& s_cls() const = 0 26 virtual const std::string& s_cls() const = 0; 27 virtual iro* copy() const = 0; 27 virtual iro* copy() const = 0; 28 28 29 virtual void* cast(cid) const = 0; //OPTIMIZ 29 virtual void* cast(cid) const = 0; //OPTIMIZATION (geo). 30 }; 30 }; 31 31 32 }} 32 }} 33 33 34 #endif 34 #endif