Go to the documentation of this file.00001 #ifndef __STDAIR_BOM_SEGMENTCABINKEY_HPP
00002 #define __STDAIR_BOM_SEGMENTCABINKEY_HPP
00003
00004
00005
00006
00007
00008 #include <iosfwd>
00009 #include <string>
00010
00011 #include <stdair/stdair_basic_types.hpp>
00012 #include <stdair/bom/KeyAbstract.hpp>
00013
00015 namespace boost {
00016 namespace serialization {
00017 class access;
00018 }
00019 }
00020
00021 namespace stdair {
00022
00026 struct SegmentCabinKey : public KeyAbstract {
00027 friend class boost::serialization::access;
00028
00029
00030 private:
00034 SegmentCabinKey();
00035
00036 public:
00040 SegmentCabinKey (const CabinCode_T& iCabinCode);
00041
00045 SegmentCabinKey (const SegmentCabinKey&);
00046
00050 ~SegmentCabinKey();
00051
00052
00053 public:
00054
00056 const CabinCode_T& getCabinCode() const {
00057 return _cabinCode;
00058 }
00059
00060
00061 public:
00062
00068 void toStream (std::ostream& ioOut) const;
00069
00075 void fromStream (std::istream& ioIn);
00076
00086 const std::string toString() const;
00087
00088
00089 public:
00090
00094 template<class Archive>
00095 void serialize (Archive& ar, const unsigned int iFileVersion);
00096
00097 private:
00102 void serialisationImplementationExport() const;
00103 void serialisationImplementationImport();
00104
00105
00106 private:
00107
00111 CabinCode_T _cabinCode;
00112 };
00113
00114 }
00115 #endif // __STDAIR_BOM_SEGMENTCABINKEY_HPP