StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
AirlineClassListKey.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines