RMOL Logo  1.00.8
C++ library of Revenue Management and Optimisation classes and functions
Loading...
Searching...
No Matches
RMOL_Types.hpp
Go to the documentation of this file.
1#ifndef __RMOL_RMOL_TYPES_HPP
2#define __RMOL_RMOL_TYPES_HPP
3
4// //////////////////////////////////////////////////////////////////////
5// Import section
6// //////////////////////////////////////////////////////////////////////
7// STL
8#include <map>
9#include <vector>
10// Boost
11#include <boost/shared_ptr.hpp>
12// StdAir
13#include <stdair/stdair_inventory_types.hpp>
14#include <stdair/stdair_rm_types.hpp>
15#include <stdair/stdair_exceptions.hpp>
16
17// Forward declarations.
18namespace stdair {
19 class BookingClass;
20}
21
22
23namespace RMOL {
24
25 // Forward declarations
26 class RMOL_Service;
27
28 // ///////// Exceptions ///////////
32 class OverbookingException : public stdair::RootException {
33 public:
35 OverbookingException (const std::string& iWhat)
36 : stdair::RootException (iWhat) {}
37 };
38
42 class UnconstrainingException : public stdair::RootException {
43 public:
45 UnconstrainingException (const std::string& iWhat)
46 : stdair::RootException (iWhat) {}
47 };
48
53 public:
55 EmptyNestingStructException (const std::string& iWhat)
56 : UnconstrainingException (iWhat) {}
57 };
58
63 public:
65 MissingDCPException (const std::string& iWhat)
66 : UnconstrainingException (iWhat) {}
67 };
68
72 class OptimisationException : public stdair::RootException {
73 public:
75 OptimisationException (const std::string& iWhat)
76 : stdair::RootException (iWhat) {}
77 };
78
82 class PolicyException : public stdair::RootException {
83 public:
85 PolicyException (const std::string& iWhat)
86 : stdair::RootException (iWhat) {}
87 };
88
89
94 public:
96 ConvexHullException (const std::string& iWhat)
97 : PolicyException (iWhat) {}
98 };
99
104 public:
106 EmptyConvexHullException (const std::string& iWhat)
107 : ConvexHullException (iWhat) {}
108 };
109
114 public:
116 FirstPolicyNotNullException (const std::string& iWhat)
117 : ConvexHullException (iWhat) {}
118 };
119
124 public:
126 YieldConvexHullException (const std::string& iWhat)
127 : ConvexHullException (iWhat) {}
128 };
129
130
134 class FareFamilyException : public stdair::RootException {
135 public:
137 FareFamilyException (const std::string& iWhat)
138 : stdair::RootException (iWhat) {}
139 };
140
145 public:
147 EmptyBookingClassListException (const std::string& iWhat)
148 : FareFamilyException (iWhat) {}
149 };
150
155 public:
158 : FareFamilyException (iWhat) {}
159 };
160
165 public:
167 FareFamilyDemandVectorSizeException (const std::string& iWhat)
168 : FareFamilyException (iWhat) {}
169 };
170
171
172 // //////// Type definitions /////////
176 typedef boost::shared_ptr<RMOL_Service> RMOL_ServicePtr_T;
177
179 typedef std::vector<stdair::Flag_T> FlagVector_T;
180
182 typedef std::map<stdair::BookingClass*, stdair::MeanStdDevPair_T> BookingClassMeanStdDevPairMap_T;
183}
184#endif // __RMOL_RMOL_TYPES_HPP
Definition: BasConst.cpp:7
std::map< stdair::BookingClass *, stdair::MeanStdDevPair_T > BookingClassMeanStdDevPairMap_T
Definition: RMOL_Types.hpp:182
boost::shared_ptr< RMOL_Service > RMOL_ServicePtr_T
Definition: RMOL_Types.hpp:176
std::vector< stdair::Flag_T > FlagVector_T
Definition: RMOL_Types.hpp:179
Forward declarations.
Definition: DPOptimiser.hpp:11
Overbooking-related exception.
Definition: RMOL_Types.hpp:32
OverbookingException(const std::string &iWhat)
Definition: RMOL_Types.hpp:35
Unconstraining-related exception.
Definition: RMOL_Types.hpp:42
UnconstrainingException(const std::string &iWhat)
Definition: RMOL_Types.hpp:45
Empty nesting structure in unconstrainer exception.
Definition: RMOL_Types.hpp:52
EmptyNestingStructException(const std::string &iWhat)
Definition: RMOL_Types.hpp:55
Missing a DCP in unconstrainer exception.
Definition: RMOL_Types.hpp:62
MissingDCPException(const std::string &iWhat)
Definition: RMOL_Types.hpp:65
Optimisation-related exception.
Definition: RMOL_Types.hpp:72
OptimisationException(const std::string &iWhat)
Definition: RMOL_Types.hpp:75
Policy-related exception.
Definition: RMOL_Types.hpp:82
PolicyException(const std::string &iWhat)
Definition: RMOL_Types.hpp:85
Convex Hull-related exception.
Definition: RMOL_Types.hpp:93
ConvexHullException(const std::string &iWhat)
Definition: RMOL_Types.hpp:96
Empty convex hull exception.
Definition: RMOL_Types.hpp:103
EmptyConvexHullException(const std::string &iWhat)
Definition: RMOL_Types.hpp:106
Missing policy NULL in convex hull exception.
Definition: RMOL_Types.hpp:113
FirstPolicyNotNullException(const std::string &iWhat)
Definition: RMOL_Types.hpp:116
Yield convex hull exception.
Definition: RMOL_Types.hpp:123
YieldConvexHullException(const std::string &iWhat)
Definition: RMOL_Types.hpp:126
Fare Family-related exception.
Definition: RMOL_Types.hpp:134
FareFamilyException(const std::string &iWhat)
Definition: RMOL_Types.hpp:137
Empty Booking Class List of Fare Family exception.
Definition: RMOL_Types.hpp:144
EmptyBookingClassListException(const std::string &iWhat)
Definition: RMOL_Types.hpp:147
Missing Booking Class in Fare Family exception.
Definition: RMOL_Types.hpp:154
MissingBookingClassInFareFamilyException(const std::string &iWhat)
Definition: RMOL_Types.hpp:157
Fare Family demand exception.
Definition: RMOL_Types.hpp:164
FareFamilyDemandVectorSizeException(const std::string &iWhat)
Definition: RMOL_Types.hpp:167