Bitstream Interpretation Library (BIL)  0.1
PrimitiveSite.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_PRIMITIVESITE_HPP
8 #define BIL_PRIMITIVESITE_HPP
9 
10 #include <string>
11 #include <vector>
13 
14 
15 namespace bil {
16 
24  class PrimitiveSite {
25  public:
26 
27  /**********************************************************************/
28  /* CONSTRUCTION / DESTRUCTION */
29  /**********************************************************************/
30 
34  PrimitiveSite();
35 
36 
37  /**********************************************************************/
38  /* NAME */
39  /**********************************************************************/
40 
45  std::string& name();
46 
51  const std::string& name() const;
52 
53 
54  /**********************************************************************/
55  /* BONDED/UNBONDED FLAG */
56  /**********************************************************************/
57 
62  void isBonded(bool flag);
63 
68  bool isBonded() const;
69 
70 
71  /**********************************************************************/
72  /* MODIFICATORS */
73  /**********************************************************************/
74 
78  void clear();
79 
80 
81  private:
82 
83  friend void writeBinary(const PrimitiveSite& data, std::ostream& outputStream);
84  friend void readBinary(PrimitiveSite& data, std::istream& inputStream);
85 
86  std::string m_name;
87  bool m_bonded;
88 
89  };
90 
92  typedef std::vector<PrimitiveSite> PrimitiveSites;
93 
94 }
95 
96 #endif