RMOL Logo  0.25.3
C++ library of Revenue Management and Optimisation classes and functions
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
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_exceptions.hpp>
15 
16 // Forward declarations.
17 namespace stdair {
18  class BookingClass;
19 }
20 
21 
22 namespace RMOL {
23 
24  // Forward declarations
25  class RMOL_Service;
26 
27  // ///////// Exceptions ///////////
31  class OverbookingException : public stdair::RootException {
32  public:
34  OverbookingException (const std::string& iWhat)
35  : stdair::RootException (iWhat) {}
36  };
37 
41  class UnconstrainingException : public stdair::RootException {
42  public:
44  UnconstrainingException (const std::string& iWhat)
45  : stdair::RootException (iWhat) {}
46  };
47 
51  class ForecastException : public stdair::RootException {
52  public:
54  ForecastException (const std::string& iWhat)
55  : stdair::RootException (iWhat) {}
56  };
57 
61  class OptimisationException : public stdair::RootException {
62  public:
64  OptimisationException (const std::string& iWhat)
65  : stdair::RootException (iWhat) {}
66  };
67 
68 
69  // //////// Type definitions /////////
73  typedef boost::shared_ptr<RMOL_Service> RMOL_ServicePtr_T;
74 
76  typedef std::vector<stdair::NbOfRequests_T> UnconstrainedDemandVector_T;
77 
79  typedef std::vector<stdair::NbOfBookings_T> BookingVector_T;
80 
82  typedef std::vector<stdair::Flag_T> FlagVector_T;
83 
86  typedef std::map<stdair::BookingClass*, UnconstrainedDemandVector_T>BookingClassUnconstrainedDemandVectorMap_T;
87 
90  typedef std::map<stdair::BookingClass*, stdair::NbOfRequests_T>BookingClassUnconstrainedDemandMap_T;
91 
93  typedef std::map<const stdair::DTD_T, double> FRAT5Curve_T;
94 
95 }
96 #endif // __RMOL_RMOL_TYPES_HPP