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 {
99 const std::string lUNLOCodeStr (iChar.begin(), iChar.end());
113 bsq::unused_type, bsq::unused_type)
const {
128 bsq::unused_type, bsq::unused_type)
const {
142 bsq::unused_type, bsq::unused_type)
const {
156 bsq::unused_type, bsq::unused_type)
const {
158 const std::string lCommonNameStr (iChar.begin(), iChar.end());
172 bsq::unused_type, bsq::unused_type)
const {
174 const std::string lAsciiNameStr (iChar.begin(), iChar.end());
188 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
202 bsq::unused_type)
const {
204 const std::string lAltNameShortStr (iChar.begin(), iChar.end());
219 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
233 bsq::unused_type)
const {
235 const std::string lTvlPORCodeStr (iChar.begin(), iChar.end());
249 bsq::unused_type)
const {
262 bsq::unused_type, bsq::unused_type)
const {
275 bsq::unused_type, bsq::unused_type)
const {
290 bsq::unused_type)
const {
291 const std::string lFeatClassStr (iChar.begin(), iChar.end());
307 bsq::unused_type)
const {
308 const std::string lFeatCodeStr (iChar.begin(), iChar.end());
323 bsq::unused_type, bsq::unused_type)
const {
337 bsq::unused_type, bsq::unused_type)
const {
352 bsq::unused_type, bsq::unused_type)
const {
367 bsq::unused_type, bsq::unused_type)
const {
386 bsq::unused_type)
const {
387 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
402 bsq::unused_type)
const {
403 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
418 bsq::unused_type)
const {
419 const std::string lCountryNameStr (iChar.begin(), iChar.end());
434 bsq::unused_type)
const {
435 const std::string lContinentNameStr (iChar.begin(), iChar.end());
450 bsq::unused_type)
const {
451 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
466 bsq::unused_type)
const {
467 const std::string lAdmNameStr (iChar.begin(), iChar.end());
482 bsq::unused_type)
const {
483 const std::string lAdmNameStr (iChar.begin(), iChar.end());
498 bsq::unused_type)
const {
499 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
514 bsq::unused_type)
const {
515 const std::string lAdmNameStr (iChar.begin(), iChar.end());
530 bsq::unused_type)
const {
531 const std::string lAdmNameStr (iChar.begin(), iChar.end());
546 bsq::unused_type)
const {
547 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
562 bsq::unused_type)
const {
563 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
577 bsq::unused_type, bsq::unused_type)
const {
590 bsq::unused_type, bsq::unused_type)
const {
603 bsq::unused_type, bsq::unused_type)
const {
617 bsq::unused_type)
const {
618 const std::string lTimeZoneStr (iChar.begin(), iChar.end());
632 bsq::unused_type, bsq::unused_type)
const {
645 bsq::unused_type, bsq::unused_type)
const {
658 bsq::unused_type, bsq::unused_type)
const {
671 bsq::unused_type, bsq::unused_type)
const {
685 bsq::unused_type, bsq::unused_type)
const {
687 const std::string lCityCodeStr (iChar.begin(), iChar.end());
702 bsq::unused_type)
const {
716 bsq::unused_type)
const {
718 const std::string lCityUtfNameStr (iChar.begin(), iChar.end());
733 bsq::unused_type)
const {
735 const std::string lCityAsciiNameStr (iChar.begin(), iChar.end());
749 bsq::unused_type, bsq::unused_type)
const {
751 const std::string lStateCodeStr (iChar.begin(), iChar.end());
765 bsq::unused_type, bsq::unused_type)
const {
778 bsq::unused_type, bsq::unused_type)
const {
779 const std::string lWACNameStr (iChar.begin(), iChar.end());
794 bsq::unused_type)
const {
795 const std::string lCurrencyCodeStr (iChar.begin(), iChar.end());
809 bsq::unused_type, bsq::unused_type)
const {
810 const std::string lIATATypeStr (iChar.begin(), iChar.end());
811 const IATAType lIATAType (lIATATypeStr);
824 bsq::unused_type, bsq::unused_type)
const {
826 const std::string lWikiLinkStr (iChar.begin(), iChar.end());
840 bsq::unused_type, bsq::unused_type)
const {
842 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
856 bsq::unused_type, bsq::unused_type)
const {
858 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
873 bsq::unused_type, bsq::unused_type)
const {
875 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
876 std::ostringstream oStr;
890 bsq::unused_type, bsq::unused_type)
const {
892 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
893 std::ostringstream oStr;
907 bsq::unused_type, bsq::unused_type)
const {
909 const std::string lAltNameStr (iChar.begin(), iChar.end());
928 bsq::unused_type, bsq::unused_type)
const {
1165 template <
typename Iterator>
1174 header = bsq::lit(
"iata_code") >> +(bsu::char_ - bsq::eoi - bsq::eol)
1175 >> (bsq::eoi | bsq::eol);
1183 por_rule_end = bsq::eps;
1222 >>
'^' >> (
mod_date | bsq::lit(
"-1"))
1254 (bsq::no_skip[+~bsu::char_(
'^')]
1259 (bsq::no_skip[+~bsu::char_(
'^')]
1266 (bsq::no_skip[+~bsu::char_(
"^,")]
1273 (bsq::no_skip[+~bsu::char_(
"^,")]
1296 (bsq::no_skip[+~bsu::char_(
'^')]
1305 (bsq::no_skip[+~bsu::char_(
'^')]
1310 (bsq::no_skip[+~bsu::char_(
'^')]
1315 (bsq::no_skip[+~bsu::char_(
'^')]
1320 (bsq::no_skip[+~bsu::char_(
'^')]
1325 (bsq::no_skip[+~bsu::char_(
'^')]
1330 (bsq::no_skip[+~bsu::char_(
'^')]
1335 (bsq::no_skip[+~bsu::char_(
'^')]
1340 (bsq::no_skip[+~bsu::char_(
'^')]
1345 (bsq::no_skip[+~bsu::char_(
'^')]
1350 (bsq::no_skip[+~bsu::char_(
'^')]
1355 (bsq::no_skip[+~bsu::char_(
'^')]
1366 (bsq::no_skip[+~bsu::char_(
'^')]
1394 (bsq::no_skip[+~bsu::char_(
"^|=")]
1399 (bsq::no_skip[+~bsu::char_(
"^|=")]
1415 (bsq::no_skip[+~bsu::char_(
'^')]
1422 (bsq::no_skip[+~bsu::char_(
'^')]
1427 (bsq::no_skip[+~bsu::char_(
'^')]
1441 bsq::repeat(1,2)[bsu::char_(
"hp")]
1453 bsq::repeat(1,2)[bsu::char_(
"hp")]
1461 (bsq::no_skip[+~bsu::char_(
'^')]
1493 (bsq::no_skip[+~bsu::char_(
"|=")]
1497 alt_name_qualifiers =
1498 bsq::repeat(1,4)[bsu::char_(
"shpc")]
1502 BOOST_SPIRIT_DEBUG_NODE (
start);
1503 BOOST_SPIRIT_DEBUG_NODE (header);
1504 BOOST_SPIRIT_DEBUG_NODE (
por_rule);
1505 BOOST_SPIRIT_DEBUG_NODE (por_rule_end);
1506 BOOST_SPIRIT_DEBUG_NODE (
por_key);
1510 BOOST_SPIRIT_DEBUG_NODE (
faa_code);
1512 BOOST_SPIRIT_DEBUG_NODE (envelope_id);
1522 BOOST_SPIRIT_DEBUG_NODE (
latitude);
1528 BOOST_SPIRIT_DEBUG_NODE (
date_end);
1529 BOOST_SPIRIT_DEBUG_NODE (
comments);
1544 BOOST_SPIRIT_DEBUG_NODE (
gtopo30);
1549 BOOST_SPIRIT_DEBUG_NODE (
mod_date);
1550 BOOST_SPIRIT_DEBUG_NODE (
date);
1558 BOOST_SPIRIT_DEBUG_NODE (city_name_ascii);
1560 BOOST_SPIRIT_DEBUG_NODE (
por_type);
1561 BOOST_SPIRIT_DEBUG_NODE (wiki_link);
1566 BOOST_SPIRIT_DEBUG_NODE (
alt_name);
1567 BOOST_SPIRIT_DEBUG_NODE (alt_name_qualifiers);
1568 BOOST_SPIRIT_DEBUG_NODE (lang_code_opt);
1573 BOOST_SPIRIT_DEBUG_NODE (
wac);
1574 BOOST_SPIRIT_DEBUG_NODE (
wac_name);
1575 BOOST_SPIRIT_DEBUG_NODE (
ccy_code);
1579 BOOST_SPIRIT_DEBUG_NODE (unlc_qualifiers);
1580 BOOST_SPIRIT_DEBUG_NODE (uic_section);
1582 BOOST_SPIRIT_DEBUG_NODE (
uic_code);
1583 BOOST_SPIRIT_DEBUG_NODE (uic_qualifiers);
1587 bsq::rule<Iterator, bsu::blank_type>
1627 : _string (iString) {
1632 void PORStringParser::init() {
1647 std::istringstream stringToBeParsed (_string);
1665 bool hasParsingBeenSuccesful =
false;
1668 hasParsingBeenSuccesful = bsq::phrase_parse (fwd_start, fwd_end,
1669 lPORParser, bsu::blank);
1671 }
catch (
const bsq::expectation_failure<pos_iterator_t>& e) {
1672 const bsc::file_position_base<std::string>& pos = e.first.get_position();
1673 std::ostringstream oStr;
1674 oStr <<
"Parse error on POR string '" << _string
1675 <<
"', position " << pos.column << std::endl
1676 <<
"'" << e.first.get_currentline() <<
"'" << std::endl
1677 << std::setw(pos.column) <<
" " <<
"^- here";
1682 if (hasParsingBeenSuccesful ==
false) {
1686 + _string +
"' failed");
1689 if (fwd_start != fwd_end) {
1693 + _string +
"' failed");
1697 if (hasParsingBeenSuccesful ==
true && fwd_start == fwd_end) {
1717 : _filename (iFilename) {
1722 void PORFileParser::init() {
1731 const char* lFilenameStr = _filename.c_str();
1732 std::ifstream fileToBeParsed (lFilenameStr, std::ios_base::in);
1735 if (fileToBeParsed.is_open() ==
false) {
1740 +
"' file does not exist or can not be read");
1755 const bool hasParsingBeenSuccesful =
1756 bsq::phrase_parse (start, end, lPORParser, bsu::blank);
1758 if (hasParsingBeenSuccesful ==
false) {
1762 + _filename +
"') failed");
1769 + _filename +
"') failed");
1772 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
bsq::rule< Iterator, bsu::blank_type > uic_qualifiers
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
void setAdmin4Code(const std::string &iAdminCode)
storeLatitude(Location &)
storeWikiLink(Location &)
bsq::rule< Iterator, bsu::blank_type > uic_section
storeIataCode(Location &)
#define OPENTREP_LOG_ERROR(iToBeLogged)
void setWAC(const WAC_T &iWAC)
void setAltCountryCode(const std::string &iCountryCode)
void consolidateCityDetailsList()
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)
bsq::rule< Iterator, bsu::blank_type > unlc_details
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
Date_T calculateDate() const
bsq::rule< Iterator, bsu::blank_type > por_details_additional
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 > uic_code
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)
bsq::rule< Iterator, bsu::blank_type > date_end
boost::spirit::qi::int_parser< int, 10, 1, 5 > int1_5_p_t
std::string _itCityIataCode
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
bsq::rule< Iterator, bsu::blank_type > unlc_qualifiers
OPENTREP::uint2_p_t uint2_p
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > uic_details
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 &)
storeCurrencyCode(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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 > wac_name
bsq::rule< Iterator, bsu::blank_type > icao_code
bsq::rule< Iterator, bsu::blank_type > unlc_section
ParserSemanticAction(Location &)
void setCountryCode(const std::string &iCountryCode)
bsq::rule< Iterator, bsu::blank_type > date_from
OPENTREP::uint1_p_t uint1_p
bsq::rule< Iterator, bsu::blank_type > wiki_link
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
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
IATACodeList_T _itTvlPORList
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 &)
storeTimeZone(Location &)
bsq::rule< Iterator, bsu::blank_type > state_code
bsq::rule< Iterator, bsu::blank_type > unlocode_code
void operator()(unsigned int, 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 setAsciiName(const std::string &iName)
void addUNLOCode(const std::string &iUNLOCode)
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
storeUNLOCode(Location &)
storeAdm1AsciiName(Location &)
boost::spirit::qi::uint_parser< int, 10, 1, 4 > uint1_4_p_t
void setContinentName(const std::string &iContinentName)
void setDateFrom(const Date_T &iDate)
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeElevation(Location &)
storeCityGeonamesID(Location &)
bsq::rule< Iterator, bsu::blank_type > ccy_code
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 &)
bsq::rule< Iterator, bsu::blank_type > por_key
storeAdm4Code(Location &)
void addUICCode(const UICCode_T &iUICCode)
void operator()(unsigned int iUICCode, 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
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 > wac
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 operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setWACName(const std::string &iWACName)
std::string _itCityUtfName
void setDateEnd(const Date_T &iDate)
void operator()(std::vector< uchar_t >, 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 place/location types with respect to their use for transportation purposes.
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
std::string _itCityAsciiName
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
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 setCurrencyCode(const std::string &iCurrencyCode)
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
GeonamesID_T _itCityGeonamesID
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 &)
storeCityDetailList(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)