$treeview $search $mathjax
00001 #ifndef __STDAIR_BOM_LEGCABINKEY_HPP 00002 #define __STDAIR_BOM_LEGCABINKEY_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iosfwd> 00009 #include <string> 00010 // StdAir 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 LegCabinKey : public KeyAbstract { 00027 friend class boost::serialization::access; 00028 00029 // /////////// Constructors and destructors /////////// 00030 private: 00034 LegCabinKey(); 00035 00036 public: 00040 LegCabinKey (const CabinCode_T& iCabinCode); 00041 00045 LegCabinKey (const LegCabinKey&); 00046 00050 ~LegCabinKey(); 00051 00052 00053 public: 00054 // /////////// Getters ////////// 00056 const CabinCode_T& getCabinCode() const { 00057 return _cabinCode; 00058 } 00059 00060 00061 public: 00062 // /////////// Display support methods ///////// 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 // /////////// (Boost) Serialisation support methods ///////// 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 // ///////////////// Attributes /////////////// 00111 CabinCode_T _cabinCode; 00112 }; 00113 00114 } 00115 #endif // __STDAIR_BOM_LEGCABINKEY_HPP