RMOL Logo  0.25.3
C++ library of Revenue Management and Optimisation classes and functions
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines
RMOL_Types.hpp
Go to the documentation of this file.
00001 #ifndef __RMOL_RMOL_TYPES_HPP
00002 #define __RMOL_RMOL_TYPES_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <map>
00009 #include <vector>
00010 // Boost
00011 #include <boost/shared_ptr.hpp>
00012 // StdAir
00013 #include <stdair/stdair_inventory_types.hpp>
00014 #include <stdair/stdair_exceptions.hpp>
00015 
00016 // Forward declarations.
00017 namespace stdair {
00018   class BookingClass;
00019 }
00020 
00021 
00022 namespace RMOL {
00023 
00024   // Forward declarations
00025   class RMOL_Service;
00026 
00027   // ///////// Exceptions ///////////
00031   class OverbookingException : public stdair::RootException {
00032   public:
00034     OverbookingException (const std::string& iWhat)
00035       : stdair::RootException (iWhat) {}
00036   };
00037 
00041   class UnconstrainingException : public stdair::RootException {
00042   public:
00044     UnconstrainingException (const std::string& iWhat)
00045       : stdair::RootException (iWhat) {}
00046   };
00047 
00051   class ForecastException : public stdair::RootException {
00052   public:
00054     ForecastException (const std::string& iWhat)
00055       : stdair::RootException (iWhat) {}
00056   };
00057 
00061   class OptimisationException : public stdair::RootException {
00062   public:
00064     OptimisationException (const std::string& iWhat)
00065       : stdair::RootException (iWhat) {}
00066   };
00067 
00068 
00069   // //////// Type definitions /////////
00073   typedef boost::shared_ptr<RMOL_Service> RMOL_ServicePtr_T;
00074   
00076   typedef std::vector<stdair::NbOfRequests_T> UnconstrainedDemandVector_T;
00077   
00079   typedef std::vector<stdair::NbOfBookings_T> BookingVector_T;
00080   
00082   typedef std::vector<stdair::Flag_T> FlagVector_T;
00083 
00086   typedef std::map<stdair::BookingClass*, UnconstrainedDemandVector_T>BookingClassUnconstrainedDemandVectorMap_T;
00087 
00090   typedef std::map<stdair::BookingClass*, stdair::NbOfRequests_T>BookingClassUnconstrainedDemandMap_T;
00091 
00093   typedef std::map<const stdair::DTD_T, double> FRAT5Curve_T;
00094 
00095 }
00096 #endif // __RMOL_RMOL_TYPES_HPP