Geant4 Cross Reference |
1 // Copyright (C) 2010, Guy Barrand. All rights reserved. 2 // See the file tools.license for terms. 3 4 #ifndef tools_sg_node_desc 5 #define tools_sg_node_desc 6 7 #include "field_desc" 8 #include <vector> 9 10 namespace tools { 11 namespace sg { 12 13 class node_desc { 14 public: 15 node_desc() 16 :m_class() 17 ,m_version(0) 18 ,m_fds() 19 {} 20 node_desc(const std::string& a_class,unsigned int a_version, 21 const std::vector<field_desc>& a_fds) 22 :m_class(a_class) 23 ,m_version(a_version) 24 ,m_fds(a_fds) 25 {} 26 virtual ~node_desc(){} 27 public: 28 node_desc(const node_desc& a_from) 29 :m_class(a_from.m_class) 30 ,m_version(a_from.m_version) 31 ,m_fds(a_from.m_fds) 32 {} 33 node_desc& operator=(const node_desc& a_from){ 34 m_class = a_from.m_class; 35 m_version = a_from.m_version; 36 m_fds = a_from.m_fds; 37 return *this; 38 } 39 public: 40 const std::string& cls() const {return m_class;} 41 unsigned int version() const {return m_version;} 42 const std::vector<field_desc>& fields() const {return m_fds;} 43 protected: 44 std::string m_class; 45 unsigned int m_version; 46 std::vector<field_desc> m_fds; 47 }; 48 49 }} 50 51 #endif