StdAir Logo  0.45.1
C++ Standard Airline IT Object Library
PartnershipTechnique.hpp
Go to the documentation of this file.
00001 #ifndef __STDAIR_BAS_PARTNERSHIPTECHNIQUE_HPP
00002 #define __STDAIR_BAS_PARTNERSHIPTECHNIQUE_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 
00017   struct PartnershipTechnique : public StructAbstract {
00018   public:
00019     typedef enum {
00020       NONE = 0,
00021       RAE_DA,
00022       RAE_YP,
00023       IBP_DA,
00024       IBP_YP,
00025       IBP_YP_U,
00026       RMC,
00027       A_RMC,
00028       LAST_VALUE
00029     } EN_PartnershipTechnique;
00030 
00034     static const std::string& getLabel (const EN_PartnershipTechnique&);
00035 
00039     static EN_PartnershipTechnique getTechnique (const char);
00040 
00044     static char getTechniqueLabel (const EN_PartnershipTechnique&);
00045 
00049     static std::string getTechniqueLabelAsString (const EN_PartnershipTechnique&);
00050 
00054     static std::string describeLabels();
00055 
00059     EN_PartnershipTechnique getTechnique() const;
00060 
00064     char getTechniqueAsChar() const;
00065     
00069     std::string getTechniqueAsString() const;
00070     
00075     const std::string describe() const;
00076 
00077   public:
00081     bool operator== (const EN_PartnershipTechnique&) const;
00082     
00083   public:
00087     PartnershipTechnique (const EN_PartnershipTechnique&);
00091     PartnershipTechnique (const char iTechnique);
00095     PartnershipTechnique (const std::string& iTechnique);
00099     PartnershipTechnique (const PartnershipTechnique&);
00100 
00101   private:
00105     PartnershipTechnique();
00106 
00107 
00108   private:
00112     static const std::string _labels[LAST_VALUE];
00116     static const char _techniqueLabels[LAST_VALUE];
00117 
00118   private:
00119     // //////// Attributes /////////
00123     EN_PartnershipTechnique _technique;
00124   };
00125 
00126 }
00127 #endif // __STDAIR_BAS_PARTNERSHIPTECHNIQUE_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines