OpenTREP Logo  0.6.0
C++ Open Travel Request Parsing Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LocationExchange.cpp
Go to the documentation of this file.
1 // //////////////////////////////////////////////////////////////////////
2 // Import section
3 // //////////////////////////////////////////////////////////////////////
4 // STL
5 #include <cassert>
6 // STL
7 #include <ostream>
8 #include <string>
9 // OpenTrep Protobuf
10 #include <opentrep/Travel.pb.h>
11 // OpenTrep
12 #include <opentrep/Location.hpp>
14 
15 namespace OPENTREP {
16 
17  // //////////////////////////////////////////////////////////////////////
19  exportLocationList (std::ostream& oStream,
20  const LocationList_T& iLocationList,
21  const WordList_T& iNonMatchedWordList) {
22  // Protobuf structure
23  treppb::QueryAnswer oQueryAnswer;
24 
25  // //// 1. Status ////
26  const bool kOKStatus = true;
27  oQueryAnswer.set_ok_status (kOKStatus);
28 
29  // //// 2. Error message ////
37  // //// 3. List of places ////
38  treppb::PlaceList* lPlaceListPtr = oQueryAnswer.mutable_place_list();
39  assert (lPlaceListPtr != NULL);
40 
41  // Browse the list of Location structures, and fill the Protobuf structure
42  for (LocationList_T::const_iterator itLocation = iLocationList.begin();
43  itLocation != iLocationList.end(); ++itLocation) {
44  const Location& lLocation = *itLocation;
45 
46  // Create an instance of a Protobuf Place structure
47  treppb::Place* lPlacePtr = lPlaceListPtr->add_place();
48  assert (lPlacePtr != NULL);
49 
50  // Fill the Protobuf Place structure with the content of
51  // the Location structure
52  exportLocation (*lPlacePtr, lLocation);
53  }
54 
55  // //// 4. List of un-matched keywords ////
56  // Create an instance of a Protobuf UnknownKeywordList structure
57  treppb::UnknownKeywordList* lUnknownKeywordListPtr =
58  oQueryAnswer.mutable_unmatched_keyword_list();
59  assert (lUnknownKeywordListPtr != NULL);
60 
61  // Browse the list of un-matched keywords, and fill the Protobuf structure
62  for (WordList_T::const_iterator itWord = iNonMatchedWordList.begin();
63  itWord != iNonMatchedWordList.end(); ++itWord) {
64  const Word_T& lWord = *itWord;
65  lUnknownKeywordListPtr->add_word (lWord);
66  }
67 
68  // Serialise the Protobuf
69  oQueryAnswer.SerializeToOstream (&oStream);
70  }
71 
72  // //////////////////////////////////////////////////////////////////////
73  void LocationExchange::exportLocation (treppb::Place& ioPlace,
74  const Location& iLocation) {
75  // Retrieve the primary key
76  const LocationKey& lLocationKey = iLocation.getKey();
77 
78  // Retrieve and set the travel-related IATA code (part of the primary key)
79  const IATACode_T& lIataCode = lLocationKey.getIataCode();
80  treppb::IATACode* lIataAirportPtr = ioPlace.mutable_tvl_code();
81  assert (lIataAirportPtr != NULL);
82  lIataAirportPtr->set_code (lIataCode);
83 
84  // Retrieve and set the location type
85  const IATAType& lLocationType = lLocationKey.getIataType();
86  const treppb::PlaceType& lPlaceType = lLocationType.getTypeAsPB();
87  const treppb::PlaceType_LocationType& lPlaceTypeEnum = lPlaceType.type();
88  treppb::PlaceType* lPlaceTypePtr = ioPlace.mutable_loc_type();
89  assert (lPlaceTypePtr != NULL);
90  lPlaceTypePtr->set_type (lPlaceTypeEnum);
91 
92  // Retrieve and set the Geonames ID
93  const GeonamesID_T& lGeonamesID = lLocationKey.getGeonamesID();
94  treppb::GeonameID* lGeonameIDPtr = ioPlace.mutable_geoname_id();
95  assert (lGeonameIDPtr != NULL);
96  lGeonameIDPtr->set_id (lGeonamesID);
97 
98  // Retrieve and set the ICAO code
99  const ICAOCode_T& lIcaoCode = iLocation.getIcaoCode();
100  treppb::ICAOCode* lIcaoCodePtr = ioPlace.mutable_icao_code();
101  assert (lIcaoCodePtr != NULL);
102  lIcaoCodePtr->set_code (lIcaoCode);
103 
104  // Retrieve and set the FAA code
105  const FAACode_T& lFaaCode = iLocation.getFaaCode();
106  treppb::FAACode* lFaaCodePtr = ioPlace.mutable_faa_code();
107  assert (lFaaCodePtr != NULL);
108  lFaaCodePtr->set_code (lFaaCode);
109 
110  // Retrieve and set the names
111  const CommonName_T& lUtfName = iLocation.getCommonName();
112  ioPlace.set_name_utf (lUtfName);
113  const ASCIIName_T& lAsciiName = iLocation.getAsciiName();
114  ioPlace.set_name_ascii (lAsciiName);
115 
116  // Retrieve and set the feature class and code
117  const FeatureClass_T& lFeatClass = iLocation.getFeatureClass();
118  const FeatureCode_T& lFeatCode = iLocation.getFeatureCode();
119  treppb::FeatureType* lFeatTypePtr = ioPlace.mutable_feat_type();
120  assert (lFeatTypePtr != NULL);
121  treppb::FeatureClass* lFeatClassPtr = lFeatTypePtr->mutable_fclass();
122  assert (lFeatClassPtr != NULL);
123  treppb::FeatureCode* lFeatCodePtr = lFeatTypePtr->mutable_fcode();
124  assert (lFeatCodePtr != NULL);
125  lFeatClassPtr->set_code (lFeatClass);
126  lFeatCodePtr->set_code (lFeatCode);
127 
128  // Retrieve and set the geographical coordinates
129  const Latitude_T& lLatitude = iLocation.getLatitude();
130  const Longitude_T& lLongitude = iLocation.getLongitude();
131  treppb::GeoPoint* lPointPtr = ioPlace.mutable_coord();
132  assert (lPointPtr != NULL);
133  lPointPtr->set_latitude (lLatitude);
134  lPointPtr->set_longitude (lLongitude);
135 
136  // Retrieve and set the city IATA code
137  const CityCode_T& lCityCode = iLocation.getCityCode();
138  treppb::IATACode* lCityCodePtr = ioPlace.mutable_city_code();
139  assert (lCityCodePtr != NULL);
140  lCityCodePtr->set_code (lCityCode);
141 
142  // Retrieve and set the city names
143  const CityUTFName_T& lCityUtfName = iLocation.getCityUtfName();
144  ioPlace.set_city_name_utf (lCityUtfName);
145  const CityASCIIName_T& lCityAsciiName = iLocation.getCityAsciiName();
146  ioPlace.set_city_name_ascii (lCityAsciiName);
147 
148  // Retrieve and set the state code
149  const StateCode_T& lStateCode = iLocation.getStateCode();
150  treppb::StateCode* lStateCodePtr = ioPlace.mutable_state_code();
151  assert (lStateCodePtr != NULL);
152  lStateCodePtr->set_code (lStateCode);
153 
154  // Retrieve and set the country code
155  const CountryCode_T& lCountryCode = iLocation.getCountryCode();
156  treppb::CountryCode* lCountryCodePtr = ioPlace.mutable_country_code();
157  assert (lCountryCodePtr != NULL);
158  lCountryCodePtr->set_code (lCountryCode);
159 
160  // Retrieve and set the alternative country code
161  const AltCountryCode_T& lAltCountryCode = iLocation.getAltCountryCode();
162  treppb::AltCountryCode* lAltCountryCodePtr =
163  ioPlace.mutable_alt_country_code();
164  assert (lAltCountryCodePtr != NULL);
165  lAltCountryCodePtr->set_code (lAltCountryCode);
166 
167  // Retrieve and set the country name
168  const CountryName_T& lCountryName = iLocation.getCountryName();
169  ioPlace.set_country_name (lCountryName);
170 
171  // Retrieve and set the continent code
172  const ContinentCode_T& lContinentCode = iLocation.getContinentCode();
173  treppb::ContinentCode* lContinentCodePtr = ioPlace.mutable_continent_code();
174  assert (lContinentCodePtr != NULL);
175  lContinentCodePtr->set_code (lContinentCode);
176 
177  // Retrieve and set the continent name
178  const ContinentName_T& lContinentName = iLocation.getContinentName();
179  ioPlace.set_continent_name (lContinentName);
180 
181  // Retrieve and set the admin level 1 code
182  const Admin1Code_T& lAdm1Code = iLocation.getAdmin1Code();
183  treppb::Admin1Code* lAdm1CodePtr = ioPlace.mutable_adm1_code();
184  assert (lAdm1CodePtr != NULL);
185  lAdm1CodePtr->set_code (lAdm1Code);
186 
187  // Retrieve and set the admin level 1 names
188  const Admin1UTFName_T& lAdm1UtfName = iLocation.getAdmin1UtfName();
189  ioPlace.set_adm1_name_utf (lAdm1UtfName);
190  const Admin1ASCIIName_T& lAdm1AsciiName = iLocation.getAdmin1AsciiName();
191  ioPlace.set_adm1_name_ascii (lAdm1AsciiName);
192 
193  // Retrieve and set the admin level 2 code
194  const Admin2Code_T& lAdm2Code = iLocation.getAdmin2Code();
195  treppb::Admin2Code* lAdm2CodePtr = ioPlace.mutable_adm2_code();
196  assert (lAdm2CodePtr != NULL);
197  lAdm2CodePtr->set_code (lAdm2Code);
198 
199  // Retrieve and set the admin level 2 names
200  const Admin2UTFName_T& lAdm2UtfName = iLocation.getAdmin2UtfName();
201  ioPlace.set_adm2_name_utf (lAdm2UtfName);
202  const Admin2ASCIIName_T& lAdm2AsciiName = iLocation.getAdmin2AsciiName();
203  ioPlace.set_adm2_name_ascii (lAdm2AsciiName);
204 
205  // Retrieve and set the admin level 3 code
206  const Admin3Code_T& lAdm3Code = iLocation.getAdmin3Code();
207  treppb::Admin3Code* lAdm3CodePtr = ioPlace.mutable_adm3_code();
208  assert (lAdm3CodePtr != NULL);
209  lAdm3CodePtr->set_code (lAdm3Code);
210 
211  // Retrieve and set the admin level 4 code
212  const Admin4Code_T& lAdm4Code = iLocation.getAdmin4Code();
213  treppb::Admin4Code* lAdm4CodePtr = ioPlace.mutable_adm4_code();
214  assert (lAdm4CodePtr != NULL);
215  lAdm4CodePtr->set_code (lAdm4Code);
216 
217  // Retrieve and set the population
218  const Population_T& lPopulation = iLocation.getPopulation();
219  treppb::Population* lPopulationPtr = ioPlace.mutable_population();
220  assert (lPopulationPtr != NULL);
221  lPopulationPtr->set_value (lPopulation);
222 
223  // Retrieve and set the elevation
224  const Elevation_T& lElevation = iLocation.getElevation();
225  treppb::Elevation* lElevationPtr = ioPlace.mutable_elevation();
226  assert (lElevationPtr != NULL);
227  lElevationPtr->set_value (lElevation);
228 
229  // Retrieve and set the geo topology 30
230  const GTopo30_T& lGTopo30 = iLocation.getGTopo30();
231  treppb::GTopo30* lGTopo30Ptr = ioPlace.mutable_gtopo30();
232  assert (lGTopo30Ptr != NULL);
233  lGTopo30Ptr->set_value (lGTopo30);
234 
235  // Retrieve and set the PageRank value
236  const PageRank_T& lPageRank = iLocation.getPageRank();
237  treppb::PageRank* lPageRankPtr = ioPlace.mutable_page_rank();
238  assert (lPageRankPtr != NULL);
239  lPageRankPtr->set_rank (lPageRank);
240 
241  // Retrieve and set the time-zone
242  const TimeZone_T& lTimeZone = iLocation.getTimeZone();
243  treppb::TimeZone* lTimeZonePtr = ioPlace.mutable_tz();
244  assert (lTimeZonePtr != NULL);
245  lTimeZonePtr->set_tz (lTimeZone);
246 
247  // Retrieve and set the GMT offset
248  const GMTOffset_T& lGMTOffset = iLocation.getGMTOffset();
249  treppb::TZOffSet* lGMTOffsetPtr = ioPlace.mutable_gmt_offset();
250  assert (lGMTOffsetPtr != NULL);
251  lGMTOffsetPtr->set_offset (lGMTOffset);
252 
253  // Retrieve and set the DST offset
254  const DSTOffset_T& lDSTOffset = iLocation.getDSTOffset();
255  treppb::TZOffSet* lDSTOffsetPtr = ioPlace.mutable_dst_offset();
256  assert (lDSTOffsetPtr != NULL);
257  lDSTOffsetPtr->set_offset (lDSTOffset);
258 
259  // Retrieve and set the RAW offset
260  const RawOffset_T& lRAWOffset = iLocation.getRawOffset();
261  treppb::TZOffSet* lRAWOffsetPtr = ioPlace.mutable_raw_offset();
262  assert (lRAWOffsetPtr != NULL);
263  lRAWOffsetPtr->set_offset (lRAWOffset);
264 
265  // Retrieve and set the modification date (within Geonames)
266  const Date_T& lGeonameModDate = iLocation.getModificationDate();
267  treppb::Date* lGeonameModDatePtr = ioPlace.mutable_mod_date();
268  assert (lGeonameModDatePtr != NULL);
269  lGeonameModDatePtr->set_date (boost::gregorian::to_iso_extended_string(lGeonameModDate));
270 
271  // Retrieve and set the list of the travel-related POR IATA codes
272  const TvlPORListString_T& lTvlPORList = iLocation.getTvlPORListString();
273  treppb::TravelRelatedList* lTvlPORListPtr = ioPlace.mutable_tvl_por_list();
274  assert (lTvlPORListPtr != NULL);
275  lTvlPORListPtr->add_tvl_code (lTvlPORList);
276 
277  // Retrieve and set the list of the Wikipedia links (URLs)
278  const WikiLink_T& lWikiLink = iLocation.getWikiLink();
279  treppb::WikiLinkList* lWikiLinkListPtr = ioPlace.mutable_link_list();
280  assert (lWikiLinkListPtr != NULL);
281  treppb::WikiLink* lWikiLinkPtr = lWikiLinkListPtr->add_link();
282  assert (lWikiLinkPtr != NULL);
283  treppb::LanguageCode* lLangCodePtr = lWikiLinkPtr->mutable_lang();
284  assert (lLangCodePtr != NULL);
285  lLangCodePtr->set_code ("en");
286  lWikiLinkPtr->set_link (lWikiLink);
287 
288  // Retrieve and set the beginning date of the validity period
289  const Date_T& lDateFrom = iLocation.getDateFrom();
290  treppb::Date* lDateFromPtr = ioPlace.mutable_date_from();
291  assert (lDateFromPtr != NULL);
292  lDateFromPtr->set_date (boost::gregorian::to_iso_extended_string(lDateFrom));
293 
294  // Retrieve and set the end date of the validity period
295  const Date_T& lDateEnd = iLocation.getDateEnd();
296  treppb::Date* lDateEndPtr = ioPlace.mutable_date_end();
297  assert (lDateEndPtr != NULL);
298  lDateEndPtr->set_date (boost::gregorian::to_iso_extended_string(lDateEnd));
299 
300  // Retrieve and set the commentaries
301  const Comment_T& lComment = iLocation.getComment();
302  treppb::Comment* lCommentPtr = ioPlace.mutable_comment();
303  assert (lCommentPtr != NULL);
304  lCommentPtr->set_text (lComment);
305 
306  // Retrieve and set the list of alternate names
307  const NameMatrix& lNameMatrixRef = iLocation.getNameMatrix();
308  treppb::AltNameList* lAltNameListPtr = ioPlace.mutable_alt_name_list();
309  assert (lAltNameListPtr != NULL);
310  //
311  const NameMatrix_T lNameMatrix = lNameMatrixRef.getNameMatrix();
312  for (NameMatrix_T::const_iterator itNameList = lNameMatrix.begin();
313  itNameList != lNameMatrix.end(); ++itNameList) {
314  const Names& lNameListRef = itNameList->second;
315  const LanguageCode_T& lLangCode = lNameListRef.getLanguageCode();
316  const NameList_T& lNameList = lNameListRef.getNameList();
317  for (NameList_T::const_iterator itName = lNameList.begin();
318  itName != lNameList.end(); ++itName) {
319  const std::string& lName = *itName;
320  //
321  treppb::AltName* lAltNamePtr = lAltNameListPtr->add_name();
322  assert (lAltNamePtr != NULL);
323  //
324  treppb::LanguageCode* lLangCodePtr = lAltNamePtr->mutable_lang();
325  assert (lLangCodePtr != NULL);
326  lLangCodePtr->set_code (lLangCode);
327  lAltNamePtr->set_name (lName);
328  }
329  }
330 
331  // Retrieve and set the matching percentage value
332  const MatchingPercentage_T& lPercentage = iLocation.getPercentage();
333  treppb::MatchingPercentage* lPercentagePtr =
334  ioPlace.mutable_matching_percentage();
335  assert (lPercentagePtr != NULL);
336  lPercentagePtr->set_percentage (lPercentage);
337 
338  // Retrieve and set the list of the original keywords
343  const std::string& lOriginalKeywords = iLocation.getOriginalKeywords();
344  treppb::KeywordList* lOriginalKeywordListPtr =
345  ioPlace.mutable_original_keyword_list();
346  assert (lOriginalKeywordListPtr != NULL);
347  lOriginalKeywordListPtr->add_word (lOriginalKeywords);
348 
349  // Retrieve and set the list of the corrected keywords
354  const std::string& lCorrectedKeywords = iLocation.getCorrectedKeywords();
355  treppb::KeywordList* lCorrectedKeywordListPtr =
356  ioPlace.mutable_corrected_keyword_list();
357  assert (lCorrectedKeywordListPtr != NULL);
358  lCorrectedKeywordListPtr->add_word (lCorrectedKeywords);
359 
360  // Retrieve and set the actual edit distance
361  const NbOfErrors_T& lEditDistanceActual = iLocation.getEditDistance();
362  treppb::EditDistance* lEditDistanceActualPtr =
363  ioPlace.mutable_edit_distance_actual();
364  assert (lEditDistanceActualPtr != NULL);
365  lEditDistanceActualPtr->set_dist (lEditDistanceActual);
366 
367  // Retrieve and set the allowable edit distance
368  const NbOfErrors_T& lEditDistanceAllowable =
369  iLocation.getAllowableEditDistance();
370  treppb::EditDistance* lEditDistanceAllowablePtr =
371  ioPlace.mutable_edit_distance_actual();
372  assert (lEditDistanceAllowablePtr != NULL);
373  lEditDistanceAllowablePtr->set_dist (lEditDistanceAllowable);
374 
375  // Iterate on the extra list of locations
376  const LocationList_T& lExtraLocationList = iLocation.getExtraLocationList();
377  treppb::PlaceList* lExtraPlaceListPtr = ioPlace.mutable_extra_place_list();
378  assert (lExtraPlaceListPtr != NULL);
379  for (LocationList_T::const_iterator itLoc = lExtraLocationList.begin();
380  itLoc != lExtraLocationList.end(); ++itLoc) {
381  const Location& lExtraLocation = *itLoc;
382  //
383  treppb::Place* lPlacePtr = lExtraPlaceListPtr->add_place();
384  assert (lPlacePtr != NULL);
385  //
386  exportLocation (*lPlacePtr, lExtraLocation);
387  }
388 
389  // Iterate on the alternative list of locations
390  const LocationList_T& lAltLocationList= iLocation.getAlternateLocationList();
391  treppb::PlaceList* lAltPlaceListPtr = ioPlace.mutable_alt_place_list();
392  assert (lAltPlaceListPtr != NULL);
393  for (LocationList_T::const_iterator itLoc = lAltLocationList.begin();
394  itLoc != lAltLocationList.end(); ++itLoc) {
395  const Location& lAlternateLocation = *itLoc;
396  //
397  treppb::Place* lPlacePtr = lAltPlaceListPtr->add_place();
398  assert (lPlacePtr != NULL);
399  //
400  exportLocation (*lPlacePtr, lAlternateLocation);
401  }
402  }
403 
404 }
405 
static void exportLocation(treppb::Place &, const Location &)
Class modelling the primary key of a location/POR (point of reference).
Definition: LocationKey.hpp:21
const Admin3Code_T & getAdmin3Code() const
Definition: Location.hpp:304
const Admin1Code_T & getAdmin1Code() const
Definition: Location.hpp:262
const CountryCode_T & getCountryCode() const
Definition: Location.hpp:171
const Latitude_T & getLatitude() const
Definition: Location.hpp:234
const Population_T & getPopulation() const
Definition: Location.hpp:318
const Date_T & getDateFrom() const
Definition: Location.hpp:115
const IATAType & getIataType() const
Definition: LocationKey.hpp:34
treppb::PlaceType getTypeAsPB() const
Definition: IATAType.cpp:181
Structure modelling a (geographical) location.
Definition: Location.hpp:24
double PageRank_T
const Admin1ASCIIName_T & getAdmin1AsciiName() const
Definition: Location.hpp:276
const FeatureCode_T & getFeatureCode() const
Definition: Location.hpp:255
const CityASCIIName_T & getCityAsciiName() const
Definition: Location.hpp:150
std::string Word_T
const FAACode_T & getFaaCode() const
Definition: Location.hpp:72
const NbOfErrors_T & getAllowableEditDistance() const
Definition: Location.hpp:410
const ContinentName_T & getContinentName() const
Definition: Location.hpp:199
const NameMatrix_T & getNameMatrix() const
Definition: NameMatrix.hpp:44
const Admin1UTFName_T & getAdmin1UtfName() const
Definition: Location.hpp:269
boost::gregorian::date Date_T
std::list< Word_T > WordList_T
const LocationList_T & getAlternateLocationList() const
Definition: Location.hpp:424
float GMTOffset_T
std::list< std::string > NameList_T
Definition: Names.hpp:20
const std::string & getCorrectedKeywords() const
Definition: Location.hpp:388
const TvlPORListString_T & getTvlPORListString() const
Definition: Location.hpp:101
const Date_T & getModificationDate() const
Definition: Location.hpp:346
unsigned int Population_T
const NameMatrix & getNameMatrix() const
Definition: Location.hpp:360
const Admin2UTFName_T & getAdmin2UtfName() const
Definition: Location.hpp:290
const Date_T & getDateEnd() const
Definition: Location.hpp:122
float RawOffset_T
const AltCountryCode_T & getAltCountryCode() const
Definition: Location.hpp:178
const PageRank_T & getPageRank() const
Definition: Location.hpp:339
float DSTOffset_T
const ICAOCode_T & getIcaoCode() const
Definition: Location.hpp:65
const CommonName_T & getCommonName() const
Definition: Location.hpp:80
unsigned short NbOfErrors_T
const MatchingPercentage_T & getPercentage() const
Definition: Location.hpp:395
const NbOfErrors_T & getEditDistance() const
Definition: Location.hpp:402
const FeatureClass_T & getFeatureClass() const
Definition: Location.hpp:248
const CityUTFName_T & getCityUtfName() const
Definition: Location.hpp:143
std::list< Location > LocationList_T
const RawOffset_T & getRawOffset() const
Definition: Location.hpp:227
const GeonamesID_T & getGeonamesID() const
Definition: LocationKey.hpp:41
const Elevation_T & getElevation() const
Definition: Location.hpp:325
const Admin2Code_T & getAdmin2Code() const
Definition: Location.hpp:283
GeoCoord_T Longitude_T
const NameList_T & getNameList() const
Definition: Names.hpp:60
const Comment_T & getComment() const
Definition: Location.hpp:129
const GTopo30_T & getGTopo30() const
Definition: Location.hpp:332
const LocationList_T & getExtraLocationList() const
Definition: Location.hpp:417
const LocationKey & getKey() const
Definition: Location.hpp:30
const Admin2ASCIIName_T & getAdmin2AsciiName() const
Definition: Location.hpp:297
const ContinentCode_T & getContinentCode() const
Definition: Location.hpp:192
const CityCode_T & getCityCode() const
Definition: Location.hpp:136
const std::string & getOriginalKeywords() const
Definition: Location.hpp:381
std::map< LanguageCode_T, Names > NameMatrix_T
Definition: Names.hpp:149
LanguageCode_T getLanguageCode() const
Definition: Names.hpp:53
const Admin4Code_T & getAdmin4Code() const
Definition: Location.hpp:311
const StateCode_T & getStateCode() const
Definition: Location.hpp:164
Enumeration of output types.
Definition: IATAType.hpp:22
GeoCoord_T Latitude_T
const CountryName_T & getCountryName() const
Definition: Location.hpp:185
const WikiLink_T & getWikiLink() const
Definition: Location.hpp:353
const IATACode_T & getIataCode() const
Definition: LocationKey.hpp:27
const ASCIIName_T & getAsciiName() const
Definition: Location.hpp:87
double MatchingPercentage_T
const DSTOffset_T & getDSTOffset() const
Definition: Location.hpp:220
const GMTOffset_T & getGMTOffset() const
Definition: Location.hpp:213
static void exportLocationList(std::ostream &, const LocationList_T &, const WordList_T &iNonMatchedWordList)
const TimeZone_T & getTimeZone() const
Definition: Location.hpp:206
const Longitude_T & getLongitude() const
Definition: Location.hpp:241