AirTSP Logo  1.01.0
C++ Simulated Airline Travel Solution Provider Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ReachableUniverse.hpp
Go to the documentation of this file.
1 #ifndef __AIRTSP_BOM_REACHABLEUNIVERSE_HPP
2 #define __AIRTSP_BOM_REACHABLEUNIVERSE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
11 #include <stdair/bom/BomAbstract.hpp>
12 // AirTSP
16 
18 namespace boost {
19  namespace serialization {
20  class access;
21  }
22 }
23 
25 namespace stdair {
26  template <typename BOM> class FacBom;
27  class FacBomManager;
28 }
29 
30 namespace AIRTSP {
31 
41  class ReachableUniverse : public stdair::BomAbstract {
45  template <typename BOM> friend class stdair::FacBom;
46  friend class stdair::FacBomManager;
47  friend class SegmentPathGenerator;
49 
50  public:
51  // ////////// Type definitions ////////////
56 
57  public:
58  // /////////// Getters /////////////
63  const Key_T& getKey() const {
64  return _key;
65  }
66 
70  const stdair::AirportCode_T& getOrigin() const {
71  return _key.getBoardingPoint();
72  }
73 
77  stdair::BomAbstract* const getParent() const {
78  return _parent;
79  }
80 
84  const stdair::HolderMap_T& getHolderMap() const {
85  return _holderMap;
86  }
87 
93  }
94 
95 
96  public:
97  // /////////// Display support methods /////////
103  void toStream (std::ostream& ioOut) const {
104  ioOut << toString();
105  }
106 
112  void fromStream (std::istream& ioIn) {
113  }
114 
118  std::string toString() const;
119 
123  const std::string describeKey() const {
124  return _key.toString();
125  }
126 
127 
128  public:
129  // /////////// (Boost) Serialisation support methods /////////
133  template<class Archive>
134  void serialize (Archive& ar, const unsigned int iFileVersion);
135 
136  private:
141  void serialisationImplementationExport() const;
142  void serialisationImplementationImport();
143 
144 
145  protected:
146  // ////////// Constructors and destructors /////////
150  ReachableUniverse (const Key_T&);
151 
156 
157  private:
162 
167 
168 
169  protected:
170  // ////////// Attributes /////////
175 
179  stdair::BomAbstract* _parent;
180 
184  stdair::HolderMap_T _holderMap;
185 
192  };
193 
194 }
195 #endif // __AIRTSP_BOM_REACHABLEUNIVERSE_HPP
196