StdAir Logo  1.00.0
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SegmentCabinKey.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_SEGMENTCABINKEY_HPP
2 #define __STDAIR_BOM_SEGMENTCABINKEY_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
13 
15 namespace boost {
16  namespace serialization {
17  class access;
18  }
19 }
20 
21 namespace stdair {
22 
26  struct SegmentCabinKey : public KeyAbstract {
28 
29  // /////////// Constructors and destructors ///////////
30  private:
35 
36  public:
40  SegmentCabinKey (const CabinCode_T& iCabinCode);
41 
46 
51 
52 
53  public:
54  // /////////// Getters //////////
56  const CabinCode_T& getCabinCode() const {
57  return _cabinCode;
58  }
59 
60 
61  public:
62  // /////////// Display support methods /////////
68  void toStream (std::ostream& ioOut) const;
69 
75  void fromStream (std::istream& ioIn);
76 
86  const std::string toString() const;
87 
88 
89  public:
90  // /////////// (Boost) Serialisation support methods /////////
94  template<class Archive>
95  void serialize (Archive& ar, const unsigned int iFileVersion);
96 
97  private:
102  void serialisationImplementationExport() const;
103  void serialisationImplementationImport();
104 
105 
106  private:
107  // ///////////////// Attributes ///////////////
111  CabinCode_T _cabinCode;
112  };
113 
114 }
115 #endif // __STDAIR_BOM_SEGMENTCABINKEY_HPP