Geomi
Syst.hpp
1 #ifndef DEF_COMMON_SYST
2 #define DEF_COMMON_SYST
3 
4 #include <iostream>
5 #include <sstream>
6 #include <cmath>
7 #include <vector>
8 
9 //#include "Common_csv.hpp"
10 
11 template <typename T_M, typename T_Q>
12 class Syst
13 {
14 protected:
15  T_M m_base;
16  T_Q m_pos;
18 public:
19  Syst<T_M,T_Q> ( )
20  { }
21 
22  Syst<T_M,T_Q> (T_M base)
23  : m_base(base)
24  { }
25 
26  Syst<T_M,T_Q> (T_M base, T_Q pos)
27  : m_base(base), m_pos(pos)
28  { }
29 
30  ~Syst<T_M,T_Q> ( )
31  { }
32 
33  T_M
34  base (void) const
35  { return m_base; }
36 
37  void
38  base(T_M b)
39  { m_base = b; }
40 
41  T_Q
42  pos ( ) const
43  { return m_pos; }
44 
45  void
46  pos (T_Q p)
47  { m_pos = p; }
48 
49  friend std::ostream&
50  operator<< (std::ostream& stream, const Syst<T_M,T_Q>& s)
51  {
52  stream << "(" << s.m_base << "," << s.m_pos << ")";
53  return stream;
54  }
55 
56  std::string
57  csvString (const std::string sep)
58  {
59  std::ostringstream ss;
60  ss << ::csvString<T_M>(m_base,sep) << sep << ::csvString<T_Q>(m_pos,sep);
61  std::string str(ss.str());
62  return str;
63  }
64 };
65 
66 #endif
Definition: Syst.hpp:12
T_M m_base
Definition: Syst.hpp:15
T_Q m_pos
Definition: Syst.hpp:16