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());
114 bsq::unused_type, bsq::unused_type)
const {
129 bsq::unused_type, bsq::unused_type)
const {
143 bsq::unused_type, bsq::unused_type)
const {
157 bsq::unused_type, bsq::unused_type)
const {
159 const std::string lCommonNameStr (iChar.begin(), iChar.end());
173 bsq::unused_type, bsq::unused_type)
const {
175 const std::string lAsciiNameStr (iChar.begin(), iChar.end());
189 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
203 bsq::unused_type)
const {
205 const std::string lAltNameShortStr (iChar.begin(), iChar.end());
220 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
234 bsq::unused_type)
const {
236 const std::string lTvlPORCodeStr (iChar.begin(), iChar.end());
250 bsq::unused_type)
const {
263 bsq::unused_type, bsq::unused_type)
const {
276 bsq::unused_type, bsq::unused_type)
const {
291 bsq::unused_type)
const {
292 const std::string lFeatClassStr (iChar.begin(), iChar.end());
308 bsq::unused_type)
const {
309 const std::string lFeatCodeStr (iChar.begin(), iChar.end());
324 bsq::unused_type, bsq::unused_type)
const {
338 bsq::unused_type, bsq::unused_type)
const {
353 bsq::unused_type, bsq::unused_type)
const {
368 bsq::unused_type, bsq::unused_type)
const {
387 bsq::unused_type)
const {
388 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
403 bsq::unused_type)
const {
404 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
419 bsq::unused_type)
const {
420 const std::string lCountryNameStr (iChar.begin(), iChar.end());
435 bsq::unused_type)
const {
436 const std::string lContinentNameStr (iChar.begin(), iChar.end());
451 bsq::unused_type)
const {
452 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
467 bsq::unused_type)
const {
468 const std::string lAdmNameStr (iChar.begin(), iChar.end());
483 bsq::unused_type)
const {
484 const std::string lAdmNameStr (iChar.begin(), iChar.end());
499 bsq::unused_type)
const {
500 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
515 bsq::unused_type)
const {
516 const std::string lAdmNameStr (iChar.begin(), iChar.end());
531 bsq::unused_type)
const {
532 const std::string lAdmNameStr (iChar.begin(), iChar.end());
547 bsq::unused_type)
const {
548 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
563 bsq::unused_type)
const {
564 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
578 bsq::unused_type, bsq::unused_type)
const {
591 bsq::unused_type, bsq::unused_type)
const {
604 bsq::unused_type, bsq::unused_type)
const {
618 bsq::unused_type)
const {
619 const std::string lTimeZoneStr (iChar.begin(), iChar.end());
633 bsq::unused_type, bsq::unused_type)
const {
646 bsq::unused_type, bsq::unused_type)
const {
659 bsq::unused_type, bsq::unused_type)
const {
672 bsq::unused_type, bsq::unused_type)
const {
686 bsq::unused_type, bsq::unused_type)
const {
688 const std::string lCityCodeStr (iChar.begin(), iChar.end());
703 bsq::unused_type)
const {
717 bsq::unused_type)
const {
719 const std::string lCityUtfNameStr (iChar.begin(), iChar.end());
734 bsq::unused_type)
const {
736 const std::string lCityAsciiNameStr (iChar.begin(), iChar.end());
751 bsq::unused_type)
const {
753 const std::string lCityCountryCodeStr (iChar.begin(), iChar.end());
768 bsq::unused_type)
const {
770 const std::string lCityStateCodeStr (iChar.begin(), iChar.end());
784 bsq::unused_type, bsq::unused_type)
const {
786 const std::string lStateCodeStr (iChar.begin(), iChar.end());
800 bsq::unused_type, bsq::unused_type)
const {
813 bsq::unused_type, bsq::unused_type)
const {
814 const std::string lWACNameStr (iChar.begin(), iChar.end());
829 bsq::unused_type)
const {
830 const std::string lCurrencyCodeStr (iChar.begin(), iChar.end());
844 bsq::unused_type, bsq::unused_type)
const {
845 const std::string lIATATypeStr (iChar.begin(), iChar.end());
846 const IATAType lIATAType (lIATATypeStr);
859 bsq::unused_type, bsq::unused_type)
const {
861 const std::string lWikiLinkStr (iChar.begin(), iChar.end());
876 bsq::unused_type)
const {
890 bsq::unused_type)
const {
904 bsq::unused_type, bsq::unused_type)
const {
906 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
920 bsq::unused_type, bsq::unused_type)
const {
922 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
937 bsq::unused_type, bsq::unused_type)
const {
939 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
940 std::ostringstream oStr;
954 bsq::unused_type, bsq::unused_type)
const {
956 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
957 std::ostringstream oStr;
971 bsq::unused_type, bsq::unused_type)
const {
973 const std::string lAltNameStr (iChar.begin(), iChar.end());
992 bsq::unused_type, bsq::unused_type)
const {
1232 template <
typename Iterator>
1241 header = bsq::lit(
"iata_code") >> +(bsu::char_ - bsq::eoi - bsq::eol)
1242 >> (bsq::eoi | bsq::eol);
1289 >>
'^' >> (
mod_date | bsq::lit(
"-1"))
1322 (bsq::no_skip[+~bsu::char_(
'^')]
1327 (bsq::no_skip[+~bsu::char_(
'^')]
1334 (bsq::no_skip[+~bsu::char_(
"^,")]
1341 (bsq::no_skip[+~bsu::char_(
"^,")]
1364 (bsq::no_skip[+~bsu::char_(
'^')]
1373 (bsq::no_skip[+~bsu::char_(
'^')]
1378 (bsq::no_skip[+~bsu::char_(
'^')]
1383 (bsq::no_skip[+~bsu::char_(
'^')]
1388 (bsq::no_skip[+~bsu::char_(
'^')]
1393 (bsq::no_skip[+~bsu::char_(
'^')]
1398 (bsq::no_skip[+~bsu::char_(
'^')]
1403 (bsq::no_skip[+~bsu::char_(
'^')]
1408 (bsq::no_skip[+~bsu::char_(
'^')]
1413 (bsq::no_skip[+~bsu::char_(
'^')]
1418 (bsq::no_skip[+~bsu::char_(
'^')]
1423 (bsq::no_skip[+~bsu::char_(
'^')]
1434 (bsq::no_skip[+~bsu::char_(
'^')]
1462 (bsq::no_skip[+~bsu::char_(
"^|=")]
1467 (bsq::no_skip[+~bsu::char_(
"^|=")]
1476 (bsq::no_skip[+~bsu::char_(
'^')]
1494 (bsq::no_skip[+~bsu::char_(
'^')]
1501 (bsq::no_skip[+~bsu::char_(
'^')]
1506 (bsq::no_skip[+~bsu::char_(
'^')]
1520 bsq::repeat(1,2)[bsu::char_(
"hp")]
1532 bsq::repeat(1,2)[bsu::char_(
"hp")]
1544 (bsq::no_skip[+~bsu::char_(
'^')]
1576 (bsq::no_skip[+~bsu::char_(
"|=")]
1581 bsq::repeat(1,4)[bsu::char_(
"shpc")]
1585 BOOST_SPIRIT_DEBUG_NODE (
start);
1586 BOOST_SPIRIT_DEBUG_NODE (
header);
1587 BOOST_SPIRIT_DEBUG_NODE (
por_rule);
1589 BOOST_SPIRIT_DEBUG_NODE (
por_key);
1593 BOOST_SPIRIT_DEBUG_NODE (
faa_code);
1605 BOOST_SPIRIT_DEBUG_NODE (
latitude);
1611 BOOST_SPIRIT_DEBUG_NODE (
date_end);
1612 BOOST_SPIRIT_DEBUG_NODE (
comments);
1627 BOOST_SPIRIT_DEBUG_NODE (
gtopo30);
1632 BOOST_SPIRIT_DEBUG_NODE (
mod_date);
1633 BOOST_SPIRIT_DEBUG_NODE (
date);
1645 BOOST_SPIRIT_DEBUG_NODE (
por_type);
1651 BOOST_SPIRIT_DEBUG_NODE (
alt_name);
1658 BOOST_SPIRIT_DEBUG_NODE (
wac);
1659 BOOST_SPIRIT_DEBUG_NODE (
wac_name);
1660 BOOST_SPIRIT_DEBUG_NODE (
ccy_code);
1667 BOOST_SPIRIT_DEBUG_NODE (
uic_code);
1674 bsq::rule<Iterator, bsu::blank_type>
1716 : _string (iString) {
1721 void PORStringParser::init() {
1736 std::istringstream stringToBeParsed (_string);
1754 bool hasParsingBeenSuccesful =
false;
1757 hasParsingBeenSuccesful = bsq::phrase_parse (fwd_start, fwd_end,
1758 lPORParser, bsu::blank);
1760 }
catch (
const bsq::expectation_failure<pos_iterator_t>& e) {
1761 const bsc::file_position_base<std::string>& pos = e.first.get_position();
1762 std::ostringstream oStr;
1763 oStr <<
"Parse error on POR string '" << _string
1764 <<
"', position " << pos.column << std::endl
1765 <<
"'" << e.first.get_currentline() <<
"'" << std::endl
1766 << std::setw(pos.column) <<
" " <<
"^- here";
1771 if (hasParsingBeenSuccesful ==
false) {
1775 + _string +
"' failed");
1778 if (fwd_start != fwd_end) {
1782 + _string +
"' failed");
1786 if (hasParsingBeenSuccesful ==
true && fwd_start == fwd_end) {
1806 : _filename (iFilename) {
1811 void PORFileParser::init() {
1820 const char* lFilenameStr = _filename.c_str();
1821 std::ifstream fileToBeParsed (lFilenameStr, std::ios_base::in);
1824 if (fileToBeParsed.is_open() ==
false) {
1829 +
"' file does not exist or can not be read");
1844 const bool hasParsingBeenSuccesful =
1845 bsq::phrase_parse (start, end, lPORParser, bsu::blank);
1847 if (hasParsingBeenSuccesful ==
false) {
1851 + _filename +
"') failed");
1858 + _filename +
"') failed");
1861 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
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > uic_qualifiers
storeAltCountryCode(Location &)
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 operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setWAC(const WAC_T &iWAC)
void setAltCountryCode(const std::string &iCountryCode)
void consolidateCityDetailsList()
void consolidateAltNameShortListString()
#define OPENTREP_LOG_DEBUG(iToBeLogged)
storeGMTOffset(Location &)
OPENTREP::month_p_t month_p
void setFeatureCode(const std::string &iFeatCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setAdmin1AsciiName(const std::string &iAdminName)
bsq::rule< Iterator, bsu::blank_type > unlc_details
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setFeatureClass(const std::string &iFeatClass)
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setGTopo30(const GTopo30_T &iGTopo30)
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > continent_name
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeTvlPORCode(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::int_parser< int, 10, 0, 5 > int0_5_p_t
OPENTREP::uint0_9_p_t uint0_9_p
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)
OPENTREP::year_p_t year_p
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeCountryName(Location &)
bsq::rule< Iterator, bsu::blank_type > alt_name_qualifiers
bsq::rule< Iterator, bsu::blank_type > lang_code_2char
storeCommonName(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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 &)
OPENTREP::second_p_t second_p
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
PORStringParser(const std::string &iString)
bsq::rule< Iterator, bsu::blank_type > date_end
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
boost::spirit::qi::int_parser< int, 10, 1, 5 > int1_5_p_t
std::string _itCityIataCode
void setGeonamesID(const GeonamesID_T &iGeonamesID)
bsq::rule< Iterator, bsu::blank_type > gtopo30
std::string _itCityStateCode
void setFaaCode(const std::string &iFaaCode)
bsq::rule< Iterator, bsu::blank_type > por_rule
boost::gregorian::date Date_T
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
bsq::rule< Iterator, bsu::blank_type > country_code2
bsq::rule< Iterator, bsu::blank_type > unlc_qualifiers
OPENTREP::uint2_p_t uint2_p
bsq::rule< Iterator, bsu::blank_type > uic_details
Date_T calculateDate() const
storeAltLangCode2Char(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setDSTOffset(const DSTOffset_T &iOffset)
bsq::rule< Iterator, bsu::blank_type > city_country_code
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_rule_end
storeGeonameLatitude(Location &)
storeAsciiName(Location &)
storeCurrencyCode(Location &)
void setAdmin2AsciiName(const std::string &iAdminName)
void operator()(boost::spirit::qi::unused_type, 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
bsq::rule< Iterator, bsu::blank_type > geoname_id
bsq::rule< Iterator, bsu::blank_type > city_name_ascii
OPENTREP::minute_p_t minute_p
void operator()(unsigned int, 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
void setWikiLink(const std::string &iWikiLink)
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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 operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setCountryCode(const std::string &iCountryCode)
bsq::rule< Iterator, bsu::blank_type > geoname_lat
bsq::rule< Iterator, bsu::blank_type > date_from
bsq::rule< Iterator, bsu::blank_type > city_state_code
OPENTREP::uint1_p_t uint1_p
bsq::rule< Iterator, bsu::blank_type > wiki_link
bsq::rule< Iterator, bsu::blank_type > mod_date
bsq::rule< Iterator, bsu::blank_type > elevation
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
void setGeonameLongitude(const Longitude_T &iLongitude)
storeCityAsciiName(Location &)
storeFeatureCode(Location &)
storePopulation(Location &)
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
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > tvl_por_sep
void operator()(double, 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
IATACodeList_T _itTvlPORList
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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)
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
storeAdm1UtfName(Location &)
storeStateCode(Location &)
bsq::rule< Iterator, bsu::blank_type > population
bsq::rule< Iterator, bsu::blank_type > gmt_offset
bsq::rule< Iterator, bsu::blank_type > ascii_name
bsq::rule< Iterator, bsu::blank_type > raw_offset
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeRawOffset(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeTvlPORListString(Location &)
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeTimeZone(Location &)
bsq::rule< Iterator, bsu::blank_type > state_code
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setGeonameLatitude(const Latitude_T &iLatitude)
bsq::rule< Iterator, bsu::blank_type > unlocode_code
void setAsciiName(const std::string &iName)
OPENTREP::hour_p_t hour_p
bsq::rule< Iterator, bsu::blank_type > lang_code_hist
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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
void operator()(std::vector< uchar_t >, 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
std::string _itLangCodeHist
OPENTREP::int1_2_p_t int1_2_p
bsq::rule< Iterator, bsu::blank_type > time_zone
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)
storeElevation(Location &)
storeCityGeonamesID(Location &)
bsq::rule< Iterator, bsu::blank_type > ccy_code
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
OPENTREP::uint4_p_t uint4_p
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > comments
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setIataCode(const std::string &iIataCode)
void operator()(std::vector< boost::uint32_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeFeatureClass(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > por_key
storeAdm4Code(Location &)
void addUICCode(const UICCode_T &iUICCode)
void setAdmin3Code(const std::string &iAdminCode)
boost::spirit::qi::uint_parser< minute_t, 10, 2, 2 > minute_p_t
bsq::rule< Iterator, bsu::blank_type > longitude
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setLatitude(const Latitude_T &iLatitude)
bsq::rule< Iterator, bsu::blank_type > wac
storeCityCountryCode(Location &)
bsq::rule< Iterator, bsu::blank_type > por_details
void setAdmin1Code(const std::string &iAdminCode)
OPENTREP::int1_5_p_t int1_5_p
storeGeonameLongitude(Location &)
void setPageRank(const PageRank_T &iPageRank)
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 consolidateTvlPORListString()
bsq::rule< Iterator, bsu::blank_type > adm1_name_ascii
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > start
std::string _itCityCountryCode
bsq::rule< Iterator, bsu::blank_type > adm1_name_utf
boost::spirit::multi_pass< base_iterator_t > iterator_t
void setWACName(const std::string &iWACName)
std::string _itCityUtfName
void setDateEnd(const Date_T &iDate)
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.
std::string _itCityAsciiName
bsq::rule< Iterator, bsu::blank_type > date
boost::spirit::classic::position_iterator2< iterator_t > pos_iterator_t
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsu::blank_type > envelope_id
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
storeAdm2UtfName(Location &)
void setElevation(const Elevation_T &iElevation)
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 &)
storeCityStateCode(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)
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
bsq::rule< Iterator, bsu::blank_type > geoname_lon
storeAltLangCodeHist(Location &)
bsq::rule< Iterator, bsu::blank_type > city_details
bsq::rule< Iterator, bsu::blank_type > alt_name_sep
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
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()(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 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
void addUNLOCode(const UNLOCode_T &iUNLOCode)
bsq::rule< Iterator, bsu::blank_type > alt_name_short_list
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(unsigned int iUICCode, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeCityCode(Location &)
bsq::rule< Iterator, bsu::blank_type > feat_code
storeDSTOffset(Location &)
void setAdmin2Code(const std::string &iAdminCode)