OpenTREP Logo  0.07.7
C++ Open Travel Request Parsing Library
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 
42  struct IATAType {
43  public:
44  typedef enum {
45  CTY_AIRP = 0,
52  HPT,
56  OFF,
59 
63  static const std::string& getLabel (const EN_IATAType&);
64 
68  static EN_IATAType getType (const char);
69 
73  static char getTypeLabel (const EN_IATAType&);
74 
78  static std::string getTypeLabelAsString (const EN_IATAType&);
79 
83  static treppb::PlaceType getTypeLabelAsPB (const EN_IATAType&);
84 
88  static std::string describeLabels();
89 
93  EN_IATAType getType() const;
94 
98  char getTypeAsChar() const;
99 
103  std::string getTypeAsString() const;
104 
108  treppb::PlaceType getTypeAsPB() const;
109 
113  const std::string describe() const;
114 
115  public:
119  bool operator== (const EN_IATAType&) const;
120  bool operator== (const IATAType&) const;
121 
122  public:
126  IATAType (const EN_IATAType&);
130  IATAType (const char iType);
134  IATAType (const std::string& iType);
138  IATAType (const IATAType&);
139 
140  private:
144  IATAType();
145 
146 
147  private:
151  static const std::string _labels[LAST_VALUE];
155  static const char _typeLabels[LAST_VALUE];
156 
157  private:
158  // //////// Attributes /////////
164  EN_IATAType _type;
165  };
166 
167 }
168 #endif // __OPENTREP_IATATYPE_HPP
OPENTREP::IATAType::getTypeAsString
std::string getTypeAsString() const
Definition: IATAType.cpp:174
OPENTREP::IATAType::CTY_BSTN
@ CTY_BSTN
Definition: IATAType.hpp:48
OPENTREP::IATAType::getTypeLabelAsPB
static treppb::PlaceType getTypeLabelAsPB(const EN_IATAType &)
Definition: IATAType.cpp:130
OPENTREP::IATAType::getTypeAsChar
char getTypeAsChar() const
Definition: IATAType.cpp:168
OPENTREP::IATAType::AIRP
@ AIRP
Definition: IATAType.hpp:51
OPENTREP::IATAType::EN_IATAType
EN_IATAType
Definition: IATAType.hpp:44
OPENTREP::IATAType::FERRY
@ FERRY
Definition: IATAType.hpp:55
OPENTREP::IATAType::BSTN
@ BSTN
Definition: IATAType.hpp:54
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::IATAType::describe
const std::string describe() const
Definition: IATAType.cpp:186
OPENTREP::IATAType::getLabel
static const std::string & getLabel(const EN_IATAType &)
Definition: IATAType.cpp:113
OPENTREP::IATAType::getTypeLabelAsString
static std::string getTypeLabelAsString(const EN_IATAType &)
Definition: IATAType.cpp:123
OPENTREP::IATAType::RSTN
@ RSTN
Definition: IATAType.hpp:53
OPENTREP::IATAType::CTY_AIRP
@ CTY_AIRP
Definition: IATAType.hpp:45
OPENTREP::IATAType::operator==
bool operator==(const EN_IATAType &) const
Definition: IATAType.cpp:193
OPENTREP::IATAType::getTypeAsPB
treppb::PlaceType getTypeAsPB() const
Definition: IATAType.cpp:181
OPENTREP::IATAType::describeLabels
static std::string describeLabels()
Definition: IATAType.cpp:151
treppb
Definition: LocationExchange.hpp:14
OPENTREP::IATAType::CTY_FERRY
@ CTY_FERRY
Definition: IATAType.hpp:49
OPENTREP::IATAType::LAST_VALUE
@ LAST_VALUE
Definition: IATAType.hpp:57
OPENTREP::IATAType::CITY
@ CITY
Definition: IATAType.hpp:50
OPENTREP::IATAType::CTY_RSTN
@ CTY_RSTN
Definition: IATAType.hpp:47
OPENTREP::IATAType::OFF
@ OFF
Definition: IATAType.hpp:56
OPENTREP::IATAType
Enumeration of place/location types with respect to their use for transportation purposes.
Definition: IATAType.hpp:42
OPENTREP::IATAType::CTY_HPT
@ CTY_HPT
Definition: IATAType.hpp:46
OPENTREP::IATAType::HPT
@ HPT
Definition: IATAType.hpp:52
OPENTREP::IATAType::getTypeLabel
static char getTypeLabel(const EN_IATAType &)
Definition: IATAType.cpp:118
OPENTREP_Types.hpp
OPENTREP::IATAType::getType
EN_IATAType getType() const
Definition: IATAType.cpp:163