AirSched Logo  0.1.4
C++ Simulated Airline Schedule Manager Library
OriginDestinationSetKey.hpp
Go to the documentation of this file.
00001 #ifndef __AIRSCHED_BOM_ORIGINDESTINATIONSETKEY_HPP
00002 #define __AIRSCHED_BOM_ORIGINDESTINATIONSETKEY_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 AIRSCHED {
00022 
00030   struct OriginDestinationSetKey : public stdair::KeyAbstract {
00031     friend class boost::serialization::access;
00032 
00033     // /////////// Constructors and destructors ///////////
00034   private:
00038     OriginDestinationSetKey();
00039     
00040   public:
00044     OriginDestinationSetKey (const stdair::AirportCode_T& iDestination);
00045 
00049     OriginDestinationSetKey (const OriginDestinationSetKey&);
00050 
00054     ~OriginDestinationSetKey();
00055 
00056 
00057   public:
00058     // /////////// Getters //////////
00062     const stdair::AirportCode_T& getOffPoint() const {
00063       return _destination;
00064     }
00065 
00066 
00067   public:
00068     // /////////// Display support methods /////////
00074     void toStream (std::ostream& ioOut) const;
00075 
00081     void fromStream (std::istream& ioIn);
00082 
00092     const std::string toString() const;
00093 
00094 
00095   public:
00096     // /////////// (Boost) Serialisation support methods /////////
00100     template<class Archive>
00101     void serialize (Archive& ar, const unsigned int iFileVersion);
00102 
00103   private:
00108     void serialisationImplementationExport() const;
00109     void serialisationImplementationImport();
00110 
00111 
00112   private:
00113     // ///////////////// Attributes ///////////////
00117     stdair::AirportCode_T _destination;
00118   };
00119 
00120 }
00121 #endif // __AIRSCHED_BOM_ORIGINDESTINATIONSETKEY_HPP