9 #include <boost/lexical_cast.hpp>
11 #define BOOST_SPIRIT_UNICODE
20 namespace bsq = boost::spirit::qi;
22 namespace bsu = boost::spirit::unicode;
23 namespace bsc = boost::spirit::classic;
25 namespace PorParserHelper {
32 : _location (ioLocation) {
42 bsq::unused_type, bsq::unused_type)
const {
44 const std::string lIataCodeStr (iChar.begin(), iChar.end());
63 bsq::unused_type, bsq::unused_type)
const {
65 const std::string lIcaoCodeStr (iChar.begin(), iChar.end());
80 bsq::unused_type, bsq::unused_type)
const {
82 const std::string lFaaCodeStr (iChar.begin(), iChar.end());
97 bsq::unused_type, bsq::unused_type)
const {
111 bsq::unused_type, bsq::unused_type)
const {
125 bsq::unused_type, bsq::unused_type)
const {
127 const std::string lCommonNameStr (iChar.begin(), iChar.end());
141 bsq::unused_type, bsq::unused_type)
const {
143 const std::string lAsciiNameStr (iChar.begin(), iChar.end());
158 bsq::unused_type)
const {
160 const std::string lAltNameShortStr (iChar.begin(), iChar.end());
175 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
189 bsq::unused_type)
const {
191 const std::string lTvlPORCodeStr (iChar.begin(), iChar.end());
205 bsq::unused_type)
const {
218 bsq::unused_type, bsq::unused_type)
const {
231 bsq::unused_type, bsq::unused_type)
const {
246 bsq::unused_type)
const {
247 const std::string lFeatClassStr (iChar.begin(), iChar.end());
263 bsq::unused_type)
const {
264 const std::string lFeatCodeStr (iChar.begin(), iChar.end());
279 bsq::unused_type, bsq::unused_type)
const {
293 bsq::unused_type, bsq::unused_type)
const {
310 bsq::unused_type, bsq::unused_type)
const {
327 bsq::unused_type, bsq::unused_type)
const {
346 bsq::unused_type)
const {
347 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
362 bsq::unused_type)
const {
363 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
378 bsq::unused_type)
const {
379 const std::string lCountryNameStr (iChar.begin(), iChar.end());
394 bsq::unused_type)
const {
395 const std::string lContinentNameStr (iChar.begin(), iChar.end());
410 bsq::unused_type)
const {
411 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
426 bsq::unused_type)
const {
427 const std::string lAdmNameStr (iChar.begin(), iChar.end());
442 bsq::unused_type)
const {
443 const std::string lAdmNameStr (iChar.begin(), iChar.end());
458 bsq::unused_type)
const {
459 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
474 bsq::unused_type)
const {
475 const std::string lAdmNameStr (iChar.begin(), iChar.end());
490 bsq::unused_type)
const {
491 const std::string lAdmNameStr (iChar.begin(), iChar.end());
506 bsq::unused_type)
const {
507 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
522 bsq::unused_type)
const {
523 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
537 bsq::unused_type, bsq::unused_type)
const {
550 bsq::unused_type, bsq::unused_type)
const {
563 bsq::unused_type, bsq::unused_type)
const {
577 bsq::unused_type)
const {
578 const std::string lTimeZoneStr (iChar.begin(), iChar.end());
592 bsq::unused_type, bsq::unused_type)
const {
605 bsq::unused_type, bsq::unused_type)
const {
618 bsq::unused_type, bsq::unused_type)
const {
631 bsq::unused_type, bsq::unused_type)
const {
645 bsq::unused_type, bsq::unused_type)
const {
647 const std::string lCityCodeStr (iChar.begin(), iChar.end());
662 bsq::unused_type)
const {
664 const std::string lCityUtfNameStr (iChar.begin(), iChar.end());
679 bsq::unused_type)
const {
681 const std::string lCityAsciiNameStr (iChar.begin(), iChar.end());
696 bsq::unused_type)
const {
710 bsq::unused_type, bsq::unused_type)
const {
712 const std::string lStateCodeStr (iChar.begin(), iChar.end());
726 bsq::unused_type, bsq::unused_type)
const {
727 const std::string lIATATypeStr (iChar.begin(), iChar.end());
728 const IATAType lIATAType (lIATATypeStr);
741 bsq::unused_type, bsq::unused_type)
const {
743 const std::string lWikiLinkStr (iChar.begin(), iChar.end());
757 bsq::unused_type, bsq::unused_type)
const {
759 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
773 bsq::unused_type, bsq::unused_type)
const {
775 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
790 bsq::unused_type, bsq::unused_type)
const {
792 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
793 std::ostringstream oStr;
807 bsq::unused_type, bsq::unused_type)
const {
809 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
810 std::ostringstream oStr;
824 bsq::unused_type, bsq::unused_type)
const {
826 const std::string lAltNameStr (iChar.begin(), iChar.end());
845 bsq::unused_type, bsq::unused_type)
const {
1068 template <
typename Iterator>
1077 header = bsq::lit(
"iata_code") >> +(bsu::char_ - bsq::eoi - bsq::eol)
1078 >> (bsq::eoi | bsq::eol);
1086 por_rule_end = bsq::eps;
1125 >>
'^' >> (
mod_date | bsq::lit(
"-1"))
1152 (bsq::no_skip[+~bsu::char_(
'^')]
1157 (bsq::no_skip[+~bsu::char_(
'^')]
1164 (bsq::no_skip[+~bsu::char_(
"^,")]
1171 (bsq::no_skip[+~bsu::char_(
"^,")]
1194 (bsq::no_skip[+~bsu::char_(
'^')]
1203 (bsq::no_skip[+~bsu::char_(
'^')]
1208 (bsq::no_skip[+~bsu::char_(
'^')]
1213 (bsq::no_skip[+~bsu::char_(
'^')]
1218 (bsq::no_skip[+~bsu::char_(
'^')]
1223 (bsq::no_skip[+~bsu::char_(
'^')]
1228 (bsq::no_skip[+~bsu::char_(
'^')]
1233 (bsq::no_skip[+~bsu::char_(
'^')]
1238 (bsq::no_skip[+~bsu::char_(
'^')]
1243 (bsq::no_skip[+~bsu::char_(
'^')]
1248 (bsq::no_skip[+~bsu::char_(
'^')]
1253 (bsq::no_skip[+~bsu::char_(
'^')]
1264 (bsq::no_skip[+~bsu::char_(
'^')]
1292 (bsq::no_skip[+~bsu::char_(
"^|=")]
1297 (bsq::no_skip[+~bsu::char_(
"^|=")]
1313 (bsq::no_skip[+~bsu::char_(
'^')]
1322 (bsq::no_skip[+~bsu::char_(
'^')]
1354 (bsq::no_skip[+~bsu::char_(
"|=")]
1358 alt_name_qualifiers =
1359 bsq::repeat(1,4)[bsu::char_(
"shpc")]
1363 BOOST_SPIRIT_DEBUG_NODE (
start);
1364 BOOST_SPIRIT_DEBUG_NODE (header);
1365 BOOST_SPIRIT_DEBUG_NODE (
por_rule);
1366 BOOST_SPIRIT_DEBUG_NODE (por_rule_end);
1367 BOOST_SPIRIT_DEBUG_NODE (
por_key);
1371 BOOST_SPIRIT_DEBUG_NODE (
faa_code);
1373 BOOST_SPIRIT_DEBUG_NODE (envelope_id);
1383 BOOST_SPIRIT_DEBUG_NODE (
latitude);
1390 BOOST_SPIRIT_DEBUG_NODE (
comments);
1405 BOOST_SPIRIT_DEBUG_NODE (
gtopo30);
1410 BOOST_SPIRIT_DEBUG_NODE (
mod_date);
1411 BOOST_SPIRIT_DEBUG_NODE (
date);
1419 BOOST_SPIRIT_DEBUG_NODE (city_name_ascii);
1421 BOOST_SPIRIT_DEBUG_NODE (
por_type);
1422 BOOST_SPIRIT_DEBUG_NODE (wiki_link);
1427 BOOST_SPIRIT_DEBUG_NODE (
alt_name);
1428 BOOST_SPIRIT_DEBUG_NODE (alt_name_qualifiers);
1429 BOOST_SPIRIT_DEBUG_NODE (lang_code_opt);
1436 bsq::rule<Iterator, bsu::blank_type>
1474 : _string (iString) {
1479 void PORStringParser::init() {
1494 std::istringstream stringToBeParsed (_string);
1512 bool hasParsingBeenSuccesful =
false;
1515 hasParsingBeenSuccesful = bsq::phrase_parse (fwd_start, fwd_end,
1516 lPORParser, bsu::blank);
1518 }
catch (
const bsq::expectation_failure<pos_iterator_t>& e) {
1519 const bsc::file_position_base<std::string>& pos = e.first.get_position();
1520 std::ostringstream oStr;
1521 oStr <<
"Parse error on POR string '" << _string
1522 <<
"', position " << pos.column << std::endl
1523 <<
"'" << e.first.get_currentline() <<
"'" << std::endl
1524 << std::setw(pos.column) <<
" " <<
"^- here";
1529 if (hasParsingBeenSuccesful ==
false) {
1533 + _string +
"' failed");
1536 if (fwd_start != fwd_end) {
1540 + _string +
"' failed");
1544 if (hasParsingBeenSuccesful ==
true && fwd_start == fwd_end) {
1564 : _filename (iFilename) {
1569 void PORFileParser::init() {
1578 const char* lFilenameStr = _filename.c_str();
1579 std::ifstream fileToBeParsed (lFilenameStr, std::ios_base::in);
1582 if (fileToBeParsed.is_open() ==
false) {
1587 +
" does not exist or can not be read");
1602 const bool hasParsingBeenSuccesful =
1603 bsq::phrase_parse (start, end, lPORParser, bsu::blank);
1605 if (hasParsingBeenSuccesful ==
false) {
1609 + _filename +
" failed");
1616 + _filename +
" failed");
1619 if (hasParsingBeenSuccesful ==
true && start == end) {
storeAdm2Code(Location &)
bsq::rule< Iterator, bsu::blank_type > alt_name_details
void setStateCode(const std::string &iStateCode)
storeAltLangCodeFull(Location &)
bsq::rule< Iterator, bsu::blank_type > adm3_code
TvlPORList_T _itTvlPORList
storeAltCountryCode(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeGeonamesID(Location &)
storeLongitude(Location &)
bsq::rule< Iterator, bsu::blank_type > alt_name
bsq::rule< Iterator, bsu::blank_type > date_until
void setAdmin4Code(const std::string &iAdminCode)
storeLatitude(Location &)
storeWikiLink(Location &)
void setCityAsciiName(const std::string &iCityAsciiName)
storeIataCode(Location &)
#define OPENTREP_LOG_ERROR(iToBeLogged)
void setAltCountryCode(const std::string &iCountryCode)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void consolidateAltNameShortListString()
#define OPENTREP_LOG_DEBUG(iToBeLogged)
storeGMTOffset(Location &)
OPENTREP::month_p_t month_p
void setFeatureCode(const std::string &iFeatCode)
void setAdmin1AsciiName(const std::string &iAdminName)
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setFeatureClass(const std::string &iFeatClass)
void setGTopo30(const GTopo30_T &iGTopo30)
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::uint_parser< month_t, 10, 2, 2 > month_p_t
storeAdm2AsciiName(Location &)
bsq::rule< Iterator, bsu::blank_type > lang_code_ext
bsq::rule< Iterator, bsu::blank_type > tvl_por_code
std::istreambuf_iterator< char > base_iterator_t
std::string _itLangCodeExt
bsq::rule< Iterator, bsu::blank_type > continent_name
storeTvlPORCode(Location &)
boost::spirit::qi::int_parser< int, 10, 0, 5 > int0_5_p_t
void operator()(int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::uint0_9_p_t uint0_9_p
Date_T calculateDate() const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::uint_parser< second_t, 10, 2, 2 > second_p_t
void setCountryName(const std::string &iCountryName)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::year_p_t year_p
bsq::rule< Iterator, bsu::blank_type > adm2_name_utf
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
LanguageCode_T _itLanguageCode
boost::spirit::qi::uint_parser< hour_t, 10, 2, 2 > hour_p_t
bsq::rule< Iterator, bsu::blank_type > tvl_por_code_list
bsq::rule< Iterator, bsu::blank_type > alt_name_section
Structure modelling a (geographical) location.
bsq::rule< Iterator, bsu::blank_type > latitude
bsq::rule< Iterator, bsu::blank_type > faa_code
void setEnvelopeID(const EnvelopeID_T &iEnvelopeID)
void setLongitude(const Longitude_T &iLongitude)
bsq::rule< Iterator, bsu::blank_type > iata_code
bsq::rule< Iterator, bsu::blank_type > city_name_utf
bsq::rule< Iterator, bsu::blank_type > feat_class
bsq::rule< Iterator, bsu::blank_type > dst_offset
boost::spirit::qi::uint_parser< int, 10, 2, 2 > uint2_p_t
bsq::rule< Iterator, bsu::blank_type > common_name
storeCountryName(Location &)
bsq::rule< Iterator, bsu::blank_type > alt_name_qualifiers
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > lang_code_2char
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeCommonName(Location &)
OPENTREP::uint1_4_p_t uint1_4_p
bsq::rule< Iterator, bsu::blank_type > city_code
bsq::rule< Iterator, bsu::blank_type > alt_name_short
storeContinentName(Location &)
OPENTREP::uint1_9_p_t uint1_9_p
bsq::rule< Iterator, bsu::blank_type > adm1_code
bsq::rule< Iterator, bsu::blank_type > city_name_list
boost::spirit::qi::uint_parser< int, 10, 1, 9 > uint1_9_p_t
storeDateFrom(Location &)
storeCountryCode(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::second_p_t second_p
PORStringParser(const std::string &iString)
boost::spirit::qi::int_parser< int, 10, 1, 5 > int1_5_p_t
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setGeonamesID(const GeonamesID_T &iGeonamesID)
bsq::rule< Iterator, bsu::blank_type > gtopo30
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setFaaCode(const std::string &iFaaCode)
bsq::rule< Iterator, bsu::blank_type > por_rule
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::gregorian::date Date_T
bsq::rule< Iterator, bsu::blank_type > country_code2
OPENTREP::uint2_p_t uint2_p
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeAltLangCode2Char(Location &)
void setDSTOffset(const DSTOffset_T &iOffset)
bsq::rule< Iterator, bsu::blank_type > por_rule_end
storeAsciiName(Location &)
void setAdmin2AsciiName(const std::string &iAdminName)
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > geoname_id
bsq::rule< Iterator, bsu::blank_type > city_name_ascii
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::minute_p_t minute_p
void setWikiLink(const std::string &iWikiLink)
bsq::rule< Iterator, bsu::blank_type > icao_code
ParserSemanticAction(Location &)
void setCountryCode(const std::string &iCountryCode)
bsq::rule< Iterator, bsu::blank_type > date_from
storeDateUntil(Location &)
OPENTREP::uint1_p_t uint1_p
bsq::rule< Iterator, bsu::blank_type > wiki_link
void setCityCode(const std::string &iCityCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > mod_date
bsq::rule< Iterator, bsu::blank_type > elevation
void setGMTOffset(const GMTOffset_T &iOffset)
boost::spirit::qi::uint_parser< year_t, 10, 4, 4 > year_p_t
boost::spirit::qi::uint_parser< int, 10, 1, 1 > uint1_p_t
storeCityAsciiName(Location &)
storeFeatureCode(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storePopulation(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setTimeZone(const std::string &iTimeZone)
OPENTREP::boolean_p_t boolean_p
storeIcaoCode(Location &)
void setIcaoCode(const std::string &iIcaoCode)
bsq::rule< Iterator, bsu::blank_type > por_type
bsq::rule< Iterator, bsu::blank_type > tvl_por_sep
boost::spirit::qi::bool_parser< bool, short_bool_policies > boolean_p_t
boost::spirit::qi::uint_parser< int, 10, 1, 2 > int1_2_p_t
void setModificationDate(const Date_T &iModDate)
storeAdm1UtfName(Location &)
storeStateCode(Location &)
bsq::rule< Iterator, bsu::blank_type > population
bsq::rule< Iterator, bsu::blank_type > gmt_offset
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > ascii_name
bsq::rule< Iterator, bsu::blank_type > raw_offset
bsq::rule< Iterator, bsu::blank_type > city_code_list
bsq::rule< Iterator, bsu::blank_type > city_detail_list
void setCommonName(const std::string &iName)
boost::spirit::qi::uint_parser< int, 10, 4, 4 > uint4_p_t
boost::spirit::qi::uint_parser< day_t, 10, 2, 2 > day_p_t
storeRawOffset(Location &)
storeTvlPORListString(Location &)
bsq::rule< Iterator, bsu::blank_type > destination
storeTimeZone(Location &)
bsq::rule< Iterator, bsu::blank_type > state_code
void setAsciiName(const std::string &iName)
OPENTREP::hour_p_t hour_p
bsq::rule< Iterator, bsu::blank_type > lang_code_hist
bsq::rule< Iterator, bsu::blank_type > adm4_code
AltNameShortList_T _itAltNameShortList
storeAdm3Code(Location &)
storeCityUtfName(Location &)
storeAltNameShortListString(Location &)
void setAdmin1UtfName(const std::string &iAdminName)
bsq::rule< Iterator, bsu::blank_type > header
std::string _itLangCodeHist
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::int1_2_p_t int1_2_p
bsq::rule< Iterator, bsu::blank_type > time_zone
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeAdm1AsciiName(Location &)
boost::spirit::qi::uint_parser< int, 10, 1, 4 > uint1_4_p_t
void setContinentName(const std::string &iContinentName)
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeElevation(Location &)
storeCityGeonamesID(Location &)
OPENTREP::uint4_p_t uint4_p
bsq::rule< Iterator, bsu::blank_type > comments
void setIataCode(const std::string &iIataCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeFeatureClass(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > por_key
storeAdm4Code(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setAdmin3Code(const std::string &iAdminCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::uint_parser< minute_t, 10, 2, 2 > minute_p_t
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > longitude
void setLatitude(const Latitude_T &iLatitude)
bsq::rule< Iterator, bsu::blank_type > por_details
void setAdmin1Code(const std::string &iAdminCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::int1_5_p_t int1_5_p
void setPageRank(const PageRank_T &iPageRank)
void consolidateTvlPORListString()
bsq::rule< Iterator, bsu::blank_type > adm1_name_ascii
bsq::rule< Iterator, bsu::blank_type > start
bsq::rule< Iterator, bsu::blank_type > adm1_name_utf
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::multi_pass< base_iterator_t > iterator_t
void setCityGeonamesID(const GeonamesID_T &iGeonamesID)
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::uint_parser< int, 10, 0, 9 > uint0_9_p_t
Enumeration of output types.
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > date
boost::spirit::classic::position_iterator2< iterator_t > pos_iterator_t
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > envelope_id
storeAdm2UtfName(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setElevation(const Elevation_T &iElevation)
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setCityUtfName(const std::string &iCityUtfName)
bsq::rule< Iterator, bsu::blank_type > country_name
bsq::rule< Iterator, bsu::blank_type > alt_lang_code
LocationParser(Location &ioPORRule)
PORFileParser(const PORFilePath_T &iFilename)
void setRawDataString(const std::string &iRawDataString)
storeAltLangCodeExt(Location &)
bsq::rule< Iterator, bsu::blank_type > is_geonames
void addName(const LanguageCode_T &iLanguageCode, const std::string &iName)
bsq::rule< Iterator, bsu::blank_type > city_geoname_id
bsq::rule< Iterator, bsu::blank_type > country_code
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeEnvelopeID(Location &)
const Location & generateLocation()
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeAltLangCodeHist(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > city_details
bsq::rule< Iterator, bsu::blank_type > alt_name_sep
std::string _itLangCode2Char
bsq::rule< Iterator, bsu::blank_type > adm2_name_ascii
storeAdm1Code(Location &)
bsq::rule< Iterator, bsu::blank_type > page_rank
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setRawOffset(const RawOffset_T &iOffset)
void setAdmin2UtfName(const std::string &iAdminName)
storeAltNameShort(Location &)
OPENTREP::int0_5_p_t int0_5_p
void setPopulation(const Population_T &iPopulation)
bsq::rule< Iterator, bsu::blank_type > lang_code_opt
void setIataType(const IATAType &iIATAType)
bsq::rule< Iterator, bsu::blank_type > adm2_code
bsq::rule< Iterator, bsu::blank_type > alt_lang_code_ftd
bsq::rule< Iterator, bsu::blank_type > alt_name_short_list
storeCityCode(Location &)
bsq::rule< Iterator, bsu::blank_type > feat_code
storeDSTOffset(Location &)
void setAdmin2Code(const std::string &iAdminCode)