OpenTREP Logo  0.07.4
C++ Open Travel Request Parsing Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CityDetails.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_CITYDETAILS_HPP
2 #define __OPENTREP_CITYDETAILS_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <iosfwd>
9 #include <string>
10 // OpenTrep
13 #include <opentrep/IATAType.hpp>
14 
15 namespace OPENTREP {
16 
28  struct CityDetails : public OPENTREP_Abstract {
29  public:
30  // //////////////// Getters ///////////////
34  const IATACode_T& getIataCode() const {
35  return _iataCode;
36  }
37 
41  const GeonamesID_T& getGeonamesID() const {
42  return _geonamesID;
43  }
44 
48  const CityUTFName_T& getUtfName() const {
49  return _utfName;
50  }
51 
56  const CityASCIIName_T& getAsciiName() const {
57  return _asciiName;
58  }
59 
60 
61  public:
62  // ////////////////// Setters /////////////////
66  void setIataCode (const std::string& iIataCode) {
67  _iataCode = IATACode_T (iIataCode);
68  }
69 
73  void setGeonamesID (const GeonamesID_T& iGeonamesID) {
74  _geonamesID = iGeonamesID;
75  }
76 
80  void setUtfName (const CityUTFName_T& iUtfName) {
81  _utfName = iUtfName;
82  }
83 
88  void setAsciiName (const CityASCIIName_T& iAsciiName) {
89  _asciiName = iAsciiName;
90  }
91 
92 
93  public:
94  // ////////////// Display methods //////////////
100  void toStream (std::ostream&) const;
101 
107  void fromStream (std::istream&);
108 
112  std::string toString() const;
113 
118  std::string describe() const;
119 
120 
121  public:
122  // ////////////// Constructors and destructors //////////////
126  CityDetails (const IATACode_T&, const GeonamesID_T&,
127  const CityUTFName_T&, const CityASCIIName_T&);
128 
132  CityDetails (const CityDetails&);
133 
137  ~CityDetails();
138 
142  bool operator== (const CityDetails&) const;
143 
147  bool operator!= (const CityDetails& iCityDetails) const {
148  return !(iCityDetails == *this);
149  }
150 
151  private:
155  CityDetails();
156 
157 
158  private:
159  // //////////////////// Attributes ///////////////////////
165  IATACode_T _iataCode;
166 
173  GeonamesID_T _geonamesID;
174 
178  CityUTFName_T _utfName;
179 
184  CityASCIIName_T _asciiName;
185  };
186 
187 }
188 #endif // __OPENTREP_CITYDETAILS_HPP
void setUtfName(const CityUTFName_T &iUtfName)
Definition: CityDetails.hpp:80
Class modelling the elementary details of a city.
Definition: CityDetails.hpp:28
unsigned int GeonamesID_T
bool operator==(const CityDetails &) const
Definition: CityDetails.cpp:39
bool operator!=(const CityDetails &iCityDetails) const
const CityASCIIName_T & getAsciiName() const
Definition: CityDetails.hpp:56
const IATACode_T & getIataCode() const
Definition: CityDetails.hpp:34
void toStream(std::ostream &) const
Definition: CityDetails.cpp:64
void fromStream(std::istream &)
Definition: CityDetails.cpp:69
void setIataCode(const std::string &iIataCode)
Definition: CityDetails.hpp:66
std::string describe() const
Definition: CityDetails.cpp:48
void setAsciiName(const CityASCIIName_T &iAsciiName)
Definition: CityDetails.hpp:88
const GeonamesID_T & getGeonamesID() const
Definition: CityDetails.hpp:41
std::string toString() const
Definition: CityDetails.cpp:57
const CityUTFName_T & getUtfName() const
Definition: CityDetails.hpp:48
void setGeonamesID(const GeonamesID_T &iGeonamesID)
Definition: CityDetails.hpp:73