StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
PassengerType.hpp
Go to the documentation of this file.
00001 #ifndef __STDAIR_BAS_PASSENGERTYPE_HPP
00002 #define __STDAIR_BAS_PASSENGERTYPE_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 PassengerType : public StructAbstract {
00016   public:
00017     typedef enum { 
00018       LEISURE = 0,
00019       BUSINESS,
00020       FIRST,
00021       LAST_VALUE
00022     } EN_PassengerType;
00023 
00025     static const std::string& getLabel (const EN_PassengerType&);
00026 
00028     static char getTypeLabel (const EN_PassengerType&);
00029 
00031     static std::string getTypeLabelAsString (const EN_PassengerType&);
00032 
00034     static std::string describeLabels();
00035 
00037     EN_PassengerType getType() const;
00038 
00040     std::string getTypeAsString() const;
00041     
00043     const std::string describe() const;
00044 
00045   public:
00047     bool operator== (const EN_PassengerType&) const;
00048     
00049   public:
00051     PassengerType (const EN_PassengerType&);
00053     PassengerType (const char iType);
00054 
00055     
00056   private:
00058     static const std::string _labels[LAST_VALUE];
00060     static const char _typeLabels[LAST_VALUE];
00061 
00062 
00063   private:
00064     // //////// Attributes /////////
00066     EN_PassengerType _type;
00067   };
00068 
00069 }
00070 #endif // __STDAIR_BAS_PASSENGERTYPE_HPP