Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/sg/sf

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/sg/sf (Version 11.3.0) and /externals/g4tools/include/tools/sg/sf (Version 11.1.2)


  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_sg_sf                                 4 #ifndef tools_sg_sf
  5 #define tools_sg_sf                                 5 #define tools_sg_sf
  6                                                     6 
  7 // sf for simple field.                             7 // sf for simple field.
  8                                                     8 
  9 #include "bsf"                                      9 #include "bsf"
 10                                                    10 
 11 //#include "../sto"                                11 //#include "../sto"
 12                                                    12 
 13 #include "../io/iwbuf"                             13 #include "../io/iwbuf"
 14 #include "../io/irbuf"                             14 #include "../io/irbuf"
 15 #include "../stype"                                15 #include "../stype"
 16                                                    16 
 17 #include <sstream>                                 17 #include <sstream>
 18 #include <istream>                                 18 #include <istream>
 19                                                    19 
 20 namespace tools {                                  20 namespace tools {
 21 namespace sg {                                     21 namespace sg {
 22                                                    22 
 23 template <class T>                                 23 template <class T>
 24 class sf : public bsf<T> {                         24 class sf : public bsf<T> {
 25   typedef bsf<T> parent;                           25   typedef bsf<T> parent;
 26 public:                                            26 public:
 27   static const std::string& s_class() {            27   static const std::string& s_class() {
 28     static const std::string s_v("tools::sg::s     28     static const std::string s_v("tools::sg::sf<"+stype(T())+">");
 29     return s_v;                                    29     return s_v;
 30   }                                                30   }
 31   virtual void* cast(const std::string& a_clas     31   virtual void* cast(const std::string& a_class) const {
 32     if(void* p = cmp_cast< sf<T> >(this,a_clas     32     if(void* p = cmp_cast< sf<T> >(this,a_class)) {return p;}
 33     return parent::cast(a_class);                  33     return parent::cast(a_class);
 34   }                                                34   }
 35   virtual const std::string& s_cls() const {re     35   virtual const std::string& s_cls() const {return s_class();}
 36 public:                                            36 public:
 37   virtual bool write(io::iwbuf& a_buffer) {        37   virtual bool write(io::iwbuf& a_buffer) {
 38     return a_buffer.write(parent::m_value);        38     return a_buffer.write(parent::m_value);
 39   }                                                39   }
 40   virtual bool read(io::irbuf& a_buffer) {         40   virtual bool read(io::irbuf& a_buffer) {
 41     return a_buffer.read(parent::m_value);         41     return a_buffer.read(parent::m_value);
 42   }                                                42   }
 43   virtual bool dump(std::ostream& a_out) {         43   virtual bool dump(std::ostream& a_out) {
 44     a_out << parent::m_value << std::endl;         44     a_out << parent::m_value << std::endl;
 45     return true;                                   45     return true;
 46   }                                                46   }
 47   virtual bool s_value(std::string& a_s) const     47   virtual bool s_value(std::string& a_s) const {
 48     std::ostringstream strm;                       48     std::ostringstream strm;
 49     strm << parent::m_value;                       49     strm << parent::m_value;
 50     a_s = strm.str();                              50     a_s = strm.str();
 51     return true;                                   51     return true;
 52   }                                                52   }
 53   virtual bool s2value(const std::string& a_s)     53   virtual bool s2value(const std::string& a_s) {
 54     std::istringstream strm(a_s.c_str());          54     std::istringstream strm(a_s.c_str());
 55     T v;                                           55     T v;
 56     strm >> v;                                     56     strm >> v;
 57     if(strm.fail()) return false;                  57     if(strm.fail()) return false;
 58     parent::value(v);                              58     parent::value(v);
 59     return true;                                   59     return true;
 60   }                                                60   }
 61 public:                                            61 public:
 62   sf(){}                                           62   sf(){}
 63   sf(const T& a_value):parent(a_value){}           63   sf(const T& a_value):parent(a_value){}
 64   virtual ~sf(){}                                  64   virtual ~sf(){}
 65 public:                                            65 public:
 66   sf(const sf& a_from)                             66   sf(const sf& a_from)
 67   :parent(a_from)                                  67   :parent(a_from)
 68   {}                                               68   {}
 69   sf& operator=(const sf& a_from){                 69   sf& operator=(const sf& a_from){
 70     parent::operator=(a_from);                     70     parent::operator=(a_from);
 71     return *this;                                  71     return *this;
 72   }                                                72   }
 73 public:                                            73 public:
 74   sf& operator=(const T& a_value){                 74   sf& operator=(const T& a_value){
 75     parent::operator=(a_value);                    75     parent::operator=(a_value);
 76     return *this;                                  76     return *this;
 77   }                                                77   }
 78 };                                                 78 };
 79                                                    79 
 80 /*                                                 80 /*
 81 template <class T>                                 81 template <class T>
 82 class sf_no_io : public bsf<T> {                   82 class sf_no_io : public bsf<T> {
 83 public:                                            83 public:
 84   virtual bool write(io::iwbuf&) {return true;     84   virtual bool write(io::iwbuf&) {return true;}
 85   virtual bool read(io::irbuf&) {return true;}     85   virtual bool read(io::irbuf&) {return true;}
 86   virtual bool dump(std::ostream& a_out) {         86   virtual bool dump(std::ostream& a_out) {
 87     a_out << parent::m_value << std::endl;         87     a_out << parent::m_value << std::endl;
 88     return true;                                   88     return true;
 89   }                                                89   }
 90 public:                                            90 public:
 91   sf_no_io(){}                                     91   sf_no_io(){}
 92   sf_no_io(const T& a_value):parent(a_value){}     92   sf_no_io(const T& a_value):parent(a_value){}
 93 public:                                            93 public:
 94   sf_no_io(const sf_no_io& a_from)                 94   sf_no_io(const sf_no_io& a_from)
 95   :parent(a_from)                                  95   :parent(a_from)
 96   {}                                               96   {}
 97   sf_no_io& operator=(const sf_no_io& a_from){     97   sf_no_io& operator=(const sf_no_io& a_from){
 98     parent::operator=(a_from);                     98     parent::operator=(a_from);
 99     return *this;                                  99     return *this;
100   }                                               100   }
101 public:                                           101 public:
102   sf_no_io& operator=(const T& a_value){          102   sf_no_io& operator=(const T& a_value){
103     parent::operator=(a_value);                   103     parent::operator=(a_value);
104     return *this;                                 104     return *this;
105   }                                               105   }
106 };                                                106 };
107 */                                                107 */
108                                                   108 
109 }}                                                109 }}
110                                                   110 
111 #endif                                            111 #endif