StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GuillotineBlock.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_GUILLOTINEBLOCK_HPP
2 #define __STDAIR_BOM_GUILLOTINEBLOCK_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
15 
17 namespace boost {
18  namespace serialization {
19  class access;
20  }
21 }
22 
23 namespace stdair {
24  // Forward declarations
25  class SegmentCabin;
26 
31  class GuillotineBlock : public BomAbstract {
32  template <typename BOM> friend class FacBom;
33  friend class FacBomManager;
35 
36  public:
37  // ////////// Type definitions ////////////
42 
43 
44  public:
45  // /////////// Getters ///////////////
47  const Key_T& getKey() const {
48  return _key;
49  }
50 
52  BomAbstract* const getParent() const {
53  return _parent;
54  }
55 
58  return _key.getGuillotineNumber();
59  }
60 
64  const HolderMap_T& getHolderMap() const {
65  return _holderMap;
66  }
67 
70  return _segmentCabinIndexMap;
71  }
72 
75  return _valueTypesIndexMap;
76  }
77 
79  const BlockIndex_T& getBlockIndex (const MapKey_T&) const;
80 
82  const BlockNumber_T& getBlockNumber (const SegmentCabin&) const;
83 
88  const BlockNumber_T,
89  const DTD_T) const;
90 
95  const BlockNumber_T,
96  const DTD_T,
97  const DTD_T) const;
98 
103  const BlockNumber_T, const DTD_T);
104 
109  const BlockNumber_T,
110  const DTD_T, const DTD_T);
111 
116  const BlockNumber_T,
117  const DTD_T) const;
118 
123  const BlockNumber_T,
124  const DTD_T,
125  const DTD_T) const;
126 
131  const BlockNumber_T,
132  const DTD_T);
133 
138  const BlockNumber_T,
139  const DTD_T, const DTD_T);
140 
145  (const BlockNumber_T, const BlockNumber_T, const DTD_T) const;
146 
151  (const BlockNumber_T, const BlockNumber_T, const DTD_T, const DTD_T) const;
152 
157  (const BlockNumber_T, const BlockNumber_T, const DTD_T);
158 
163  (const BlockNumber_T, const BlockNumber_T, const DTD_T, const DTD_T);
164 
169  const BlockNumber_T,
170  const DTD_T) const;
171 
176  const BlockNumber_T,
177  const DTD_T,
178  const DTD_T) const;
179 
184  const BlockNumber_T,
185  const DTD_T);
186 
191  const BlockNumber_T,
192  const DTD_T, const DTD_T);
193 
194 
195  public:
196  // //////////// Setters /////////////
200  const ValueTypeIndexMap_T&);
201 
202  public:
203  // /////////// Display support methods /////////
209  void toStream (std::ostream& ioOut) const {
210  ioOut << toString();
211  }
212 
218  void fromStream (std::istream& ioIn) {
219  }
220 
224  std::string toString() const;
225 
229  const std::string describeKey() const {
230  return _key.toString();
231  }
232 
233 
234  public:
235  // /////////// (Boost) Serialisation support methods /////////
239  template<class Archive>
240  void serialize (Archive& ar, const unsigned int iFileVersion);
241 
242  private:
247  void serialisationImplementationExport() const;
248  void serialisationImplementationImport();
249 
250 
251  protected:
252  // ////////// Constructors and destructors /////////
256  GuillotineBlock (const Key_T&);
257 
261  virtual ~GuillotineBlock();
262 
263  private:
267  GuillotineBlock();
268 
273 
274 
275  protected:
276  // ////////// Attributes /////////
279 
282 
285 
288 
292 
295 
298 
301 
304  };
305 
306 }
307 #endif // __STDAIR_BOM_GUILLOTINEBLOCK_HPP
308