StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FareFamily.hpp
Go to the documentation of this file.
1 #ifndef __STDAIR_BOM_FAREFAMILY_HPP
2 #define __STDAIR_BOM_FAREFAMILY_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // StdAir
14 
16 namespace boost {
17  namespace serialization {
18  class access;
19  }
20 }
21 
22 namespace stdair {
23 
27  class FareFamily : public BomAbstract {
28  template <typename BOM> friend class FacBom;
29  friend class FacBomManager;
31 
32  public:
33  // ////////// Type definitions ////////////
38 
39 
40  public:
41  // /////////// Getters ////////////
43  const Key_T& getKey() const {
44  return _key;
45  }
46 
48  BomAbstract* const getParent() const {
49  return _parent;
50  }
51 
53  const FamilyCode_T& getFamilyCode() const {
54  return _key.getFamilyCode();
55  }
56 
58  const HolderMap_T& getHolderMap() const {
59  return _holderMap;
60  }
61 
62 
63  public:
64  // /////////// Display support methods /////////
70  void toStream (std::ostream& ioOut) const {
71  ioOut << toString();
72  }
73 
79  void fromStream (std::istream& ioIn) {
80  }
81 
85  std::string toString() const;
86 
90  const std::string describeKey() const {
91  return _key.toString();
92  }
93 
94 
95  public:
96  // /////////// (Boost) Serialisation support methods /////////
100  template<class Archive>
101  void serialize (Archive& ar, const unsigned int iFileVersion);
102 
103  private:
108  void serialisationImplementationExport() const;
109  void serialisationImplementationImport();
110 
111 
112  protected:
113  // ////////// Constructors and destructors /////////
117  FareFamily (const Key_T&);
118 
122  virtual ~FareFamily();
123 
124  private:
128  FareFamily();
129 
133  FareFamily (const FareFamily&);
134 
135 
136  public:
137  // ////////// Attributes /////////
142 
147 
152  };
153 
154 }
155 #endif // __STDAIR_BOM_FAREFAMILY_HPP
156