StdAir Logo  1.00.15
C++ Standard Airline IT Object Library
Loading...
Searching...
No Matches
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
15
17namespace boost {
18 namespace serialization {
19 class access;
20 }
21}
22
23namespace stdair {
24
28 class FareFamily : public BomAbstract {
29 template <typename BOM> friend class FacBom;
30 template <typename BOM> friend class FacCloneBom;
31 friend class FacBomManager;
33
34 public:
35 // ////////// Type definitions ////////////
40
41
42 public:
43 // /////////// Getters ////////////
45 const Key_T& getKey() const {
46 return _key;
47 }
48
50 BomAbstract* const getParent() const {
51 return _parent;
52 }
53
55 const FamilyCode_T& getFamilyCode() const {
56 return _key.getFamilyCode();
57 }
58
60 const HolderMap_T& getHolderMap() const {
61 return _holderMap;
62 }
63
65 const FRAT5Curve_T& getFrat5Curve () const {
66 return _frat5Curve;
67 }
68
71 return _disutilityCurve;
72 }
73
75 const MeanValue_T& getMean () const { return _mean; }
76 const StdDevValue_T& getStdDev () const {return _stdDev; }
77
80
81
82 public:
83 // /////////// Setters ////////////
85 void setFrat5Curve (const FRAT5Curve_T& iFRAT5Curve) {
86 _frat5Curve.clear();
87 _frat5Curve.insert (iFRAT5Curve.begin(), iFRAT5Curve.end());
88 }
89
91 void setDisutilityCurve (const FFDisutilityCurve_T& iDisutilityCurve) {
92 _disutilityCurve.clear();
93 _disutilityCurve.insert (iDisutilityCurve.begin(), iDisutilityCurve.end());
94 }
95
97 void setMean (const MeanValue_T& iMean) { _mean = iMean; }
98 void setStdDev (const StdDevValue_T& iStdDev) { _stdDev = iStdDev; }
99
101 void setMeanStdDev (const MeanStdDevPairVector_T& iMeanStdDev) {
102 _meanStdDev = iMeanStdDev;
103 }
104
105
106 public:
107 // /////////// Display support methods /////////
113 void toStream (std::ostream& ioOut) const {
114 ioOut << toString();
115 }
116
122 void fromStream (std::istream& ioIn) {
123 }
124
128 std::string toString() const;
129
133 const std::string describeKey() const {
134 return _key.toString();
135 }
136
137
138 public:
139 // /////////// (Boost) Serialisation support methods /////////
143 template<class Archive>
144 void serialize (Archive& ar, const unsigned int iFileVersion);
145
146
147 private:
152 void serialisationImplementationExport() const;
153 void serialisationImplementationImport();
154
155
156 protected:
157 // ////////// Constructors and destructors /////////
161 FareFamily (const Key_T&);
162
166 virtual ~FareFamily();
167
168
169 private:
173 FareFamily();
174
178 FareFamily (const FareFamily&);
179
180
181 public:
182 // ////////// Attributes /////////
187
192
197
202
207
211
216 };
217
218}
219#endif // __STDAIR_BOM_FAREFAMILY_HPP
220
Handle on the StdAir library context.
double StdDevValue_T
std::map< const std::type_info *, BomAbstract * > HolderMap_T
std::map< const DTD_T, FRAT5_T > FRAT5Curve_T
std::vector< MeanStdDevPair_T > MeanStdDevPairVector_T
std::string FamilyCode_T
std::map< const DTD_T, double > FFDisutilityCurve_T
Forward declarations.
Base class for the Business Object Model (BOM) layer.
Class representing the actual attributes for a family fare.
FRAT5Curve_T _frat5Curve
void setDisutilityCurve(const FFDisutilityCurve_T &iDisutilityCurve)
FareFamilyKey Key_T
void setMean(const MeanValue_T &iMean)
virtual ~FareFamily()
const MeanStdDevPairVector_T & getMeanStdDev() const
const Key_T & getKey() const
const FamilyCode_T & getFamilyCode() const
const FFDisutilityCurve_T & getDisutilityCurve() const
const std::string describeKey() const
void fromStream(std::istream &ioIn)
BomAbstract * _parent
void setMeanStdDev(const MeanStdDevPairVector_T &iMeanStdDev)
std::string toString() const
const HolderMap_T & getHolderMap() const
const StdDevValue_T & getStdDev() const
void setFrat5Curve(const FRAT5Curve_T &iFRAT5Curve)
MeanStdDevPairVector_T _meanStdDev
BomAbstract *const getParent() const
StdDevValue_T _stdDev
friend class boost::serialization::access
const FRAT5Curve_T & getFrat5Curve() const
FFDisutilityCurve_T _disutilityCurve
void toStream(std::ostream &ioOut) const
const MeanValue_T & getMean() const
void setStdDev(const StdDevValue_T &iStdDev)
HolderMap_T _holderMap
void serialize(Archive &ar, const unsigned int iFileVersion)
Key of a given fare family, made of a fare family code.
const std::string toString() const
const FamilyCode_T & getFamilyCode() const
Base class for Factory layer.
Definition FacBom.hpp:22
Utility class for linking StdAir-based objects.
Base class for Factory layer.