$treeview $search $mathjax
00001 #ifndef __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_HPP 00002 #define __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_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 00033 struct ReachableUniverseKey : public stdair::KeyAbstract { 00034 friend class boost::serialization::access; 00035 00036 // /////////// Constructors and destructors /////////// 00037 private: 00041 ReachableUniverseKey(); 00042 00043 public: 00047 ReachableUniverseKey (const stdair::AirportCode_T& iOrigin); 00048 00052 ReachableUniverseKey (const ReachableUniverseKey&); 00053 00057 ~ReachableUniverseKey(); 00058 00059 00060 public: 00061 // /////////// Getters ////////// 00066 const stdair::AirportCode_T& getBoardingPoint() const { 00067 return _origin; 00068 } 00069 00070 00071 public: 00072 // /////////// Display support methods ///////// 00078 void toStream (std::ostream& ioOut) const; 00079 00085 void fromStream (std::istream& ioIn); 00086 00096 const std::string toString() const; 00097 00098 00099 public: 00100 // /////////// (Boost) Serialisation support methods ///////// 00104 template<class Archive> 00105 void serialize (Archive& ar, const unsigned int iFileVersion); 00106 00107 private: 00112 void serialisationImplementationExport() const; 00113 void serialisationImplementationImport(); 00114 00115 00116 private: 00117 // ///////////////// Attributes /////////////// 00122 stdair::AirportCode_T _origin; 00123 }; 00124 00125 } 00126 00127 #endif // __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_HPP