Bitstream Interpretation Library (BIL)  0.1
TileTypeCfgDb.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_TILETYPECFGDB_HPP
8 #define BIL_TILETYPECFGDB_HPP
9 
10 #include <cstring>
13 
14 
15 namespace bil {
16 
23  class TileTypeCfgDb {
24  public:
25 
26  /**********************************************************************/
27  /* CONSTRUCTION / DESTRUCTION */
28  /**********************************************************************/
29 
33  TileTypeCfgDb();
34 
35 
36  /**********************************************************************/
37  /* TILE TYPE INDEX */
38  /**********************************************************************/
39 
44  void typeIndex(size_t index);
45 
50  size_t typeIndex() const;
51 
52 
53  /**********************************************************************/
54  /* PIP CONTROL SETS */
55  /**********************************************************************/
56 
62 
67  const PIPControlSets& pipControlSets() const;
68 
69 
70  /**********************************************************************/
71  /* MODIFICATORS */
72  /**********************************************************************/
73 
77  void clear();
78 
79 
80  private:
81 
82  friend void writeBinary(const TileTypeCfgDb& data, std::ostream& outputStream);
83  friend void readBinary(TileTypeCfgDb& data, std::istream& inputStream);
84 
85  PIPControlSets m_pipControlSets;
86  size_t m_tileTypeIndex;
87 
88  };
89 
90 
92  typedef std::vector<TileTypeCfgDb> TileTypeCfgDbs;
93 
94 }
95 
96 #endif