$treeview $search $mathjax
StdAir Logo  1.00.1
$projectbrief
$projectbrief
$searchbox

stdair/basic/PassengerChoiceModel.hpp

Go to the documentation of this file.
00001 #ifndef __STDAIR_BAS_PASSENGERCHOICEMODEL_HPP
00002 #define __STDAIR_BAS_PASSENGERCHOICEMODEL_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // StdAir
00010 #include <stdair/basic/StructAbstract.hpp>
00011 
00012 namespace stdair {
00013 
00015   struct PassengerChoiceModel : public stdair::StructAbstract {
00016   public:
00017     typedef enum {
00018       HARD_RESTRICTION = 0,
00019       PRICE_ORIENTED,
00020       HYBRID,
00021       LAST_VALUE
00022     } EN_PassengerChoiceModel;
00023 
00026     static const std::string& getLabel (const EN_PassengerChoiceModel&);
00027 
00029     static char getModelLabel (const EN_PassengerChoiceModel&);
00030 
00032     static std::string getModelLabelAsString (const EN_PassengerChoiceModel&);
00033 
00035     static std::string describeLabels();
00036 
00038     EN_PassengerChoiceModel getModel() const;
00039 
00041     std::string getModelAsString() const;
00042     
00045     const std::string describe() const;
00046 
00047   public:
00049     bool operator== (const EN_PassengerChoiceModel&) const;
00050     
00051   public:
00053     PassengerChoiceModel (const EN_PassengerChoiceModel&);
00055     PassengerChoiceModel (const char iModel);
00057     PassengerChoiceModel (const PassengerChoiceModel&);
00058 
00059   private:
00061     PassengerChoiceModel();
00062   
00063 
00064   private:
00066     static const std::string _labels[LAST_VALUE];
00068     static const char _modelLabels[LAST_VALUE];
00069 
00070 
00071   private:
00072     // //////// Attributes /////////
00074     EN_PassengerChoiceModel _model;
00075   };
00076 }
00077   
00078 #endif // __STDAIR_BAS_PASSENGERCHOICEMODEL_HPP