OpenTREP Logo  0.6.0
C++ Open Travel Request Parsing Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IATAType.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_IATATYPE_HPP
2 #define __OPENTREP_IATATYPE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // OpenTrep
11 
12 // Forward declarations
13 namespace treppb {
14  class PlaceType;
15 }
16 
17 namespace OPENTREP {
18 
22  struct IATAType {
23  public:
24  typedef enum {
25  CTY_AIRP = 0,
32  HPT,
36  OFF,
38  } EN_IATAType;
39 
43  static const std::string& getLabel (const EN_IATAType&);
44 
48  static EN_IATAType getType (const char);
49 
53  static char getTypeLabel (const EN_IATAType&);
54 
58  static std::string getTypeLabelAsString (const EN_IATAType&);
59 
63  static treppb::PlaceType getTypeLabelAsPB (const EN_IATAType&);
64 
68  static std::string describeLabels();
69 
73  EN_IATAType getType() const;
74 
78  char getTypeAsChar() const;
79 
83  std::string getTypeAsString() const;
84 
88  treppb::PlaceType getTypeAsPB() const;
89 
93  const std::string describe() const;
94 
95  public:
99  bool operator== (const EN_IATAType&) const;
100  bool operator== (const IATAType&) const;
101 
102  public:
106  IATAType (const EN_IATAType&);
110  IATAType (const char iType);
114  IATAType (const std::string& iType);
118  IATAType (const IATAType&);
119 
120  private:
124  IATAType();
125 
126 
127  private:
131  static const std::string _labels[LAST_VALUE];
135  static const char _typeLabels[LAST_VALUE];
136 
137  private:
138  // //////// Attributes /////////
142  EN_IATAType _type;
143  };
144 
145 }
146 #endif // __OPENTREP_IATATYPE_HPP
static treppb::PlaceType getTypeLabelAsPB(const EN_IATAType &)
Definition: IATAType.cpp:130
treppb::PlaceType getTypeAsPB() const
Definition: IATAType.cpp:181
bool operator==(const EN_IATAType &) const
Definition: IATAType.cpp:193
static std::string describeLabels()
Definition: IATAType.cpp:151
char getTypeAsChar() const
Definition: IATAType.cpp:168
static const std::string & getLabel(const EN_IATAType &)
Definition: IATAType.cpp:113
EN_IATAType getType() const
Definition: IATAType.cpp:163
std::string getTypeAsString() const
Definition: IATAType.cpp:174
static char getTypeLabel(const EN_IATAType &)
Definition: IATAType.cpp:118
static std::string getTypeLabelAsString(const EN_IATAType &)
Definition: IATAType.cpp:123
const std::string describe() const
Definition: IATAType.cpp:186
Enumeration of output types.
Definition: IATAType.hpp:22