00001 #ifndef __STDAIR_BOM_AIRLINECLASSLISTKEY_HPP 00002 #define __STDAIR_BOM_AIRLINECLASSLISTKEY_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <iosfwd> 00009 // StdAir 00010 #include <stdair/stdair_inventory_types.hpp> 00011 #include <stdair/bom/KeyAbstract.hpp> 00012 00014 namespace boost { 00015 namespace serialization { 00016 class access; 00017 } 00018 } 00019 00020 namespace stdair { 00021 00025 struct AirlineClassListKey : public KeyAbstract { 00026 friend class boost::serialization::access; 00027 00028 // /////////// Constructors and destructors /////////// 00029 private: 00033 AirlineClassListKey(); 00034 00035 public: 00039 AirlineClassListKey (const AirlineCodeList_T&, 00040 const ClassList_StringList_T&); 00041 00045 AirlineClassListKey (const AirlineClassListKey&); 00046 00050 ~AirlineClassListKey(); 00051 00052 00053 public: 00054 // /////////// Getters ////////// 00056 const AirlineCodeList_T& getAirlineCodeList() const { 00057 return _airlineCodeList; 00058 } 00059 00061 const ClassList_StringList_T& getClassCodeList() const { 00062 return _classCodeList; 00063 } 00064 00065 00066 public: 00067 // /////////// Display support methods ///////// 00073 void toStream (std::ostream& ioOut) const; 00074 00080 void fromStream (std::istream& ioIn); 00081 00091 const std::string toString() const; 00092 00093 00094 public: 00095 // /////////// (Boost) Serialisation support methods ///////// 00099 template<class Archive> 00100 void serialize (Archive& ar, const unsigned int iFileVersion); 00101 00102 private: 00107 void serialisationImplementationExport() const; 00108 void serialisationImplementationImport(); 00109 00110 00111 private: 00112 // ///////////////// Attributes /////////////// 00116 AirlineCodeList_T _airlineCodeList; 00117 00121 ClassList_StringList_T _classCodeList; 00122 }; 00123 00124 } 00125 #endif // __STDAIR_BOM_AIRLINECLASSLISTKEY_HPP