Go to the documentation of this file.00001 #ifndef __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_HPP
00002 #define __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_HPP
00003
00004
00005
00006
00007
00008 #include <iosfwd>
00009 #include <string>
00010
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
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
00066 const stdair::AirportCode_T& getBoardingPoint() const {
00067 return _origin;
00068 }
00069
00070
00071 public:
00072
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
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
00122 stdair::AirportCode_T _origin;
00123 };
00124
00125 }
00126
00127 #endif // __AIRSCHED_BOM_REACHABLEUNIVERSEKEY_HPP