9 #include <boost/lexical_cast.hpp> 11 #define BOOST_SPIRIT_UNICODE 20 namespace bsq = boost::spirit::qi;
21 namespace bsa = boost::spirit::ascii;
22 namespace bss = boost::spirit::standard;
23 namespace bsu = boost::spirit::unicode;
24 namespace bsc = boost::spirit::classic;
26 namespace PorParserHelper {
33 : _location (ioLocation) {
43 bsq::unused_type, bsq::unused_type)
const {
45 const std::string lIataCodeStr (iChar.begin(), iChar.end());
64 bsq::unused_type, bsq::unused_type)
const {
66 const std::string lIcaoCodeStr (iChar.begin(), iChar.end());
81 bsq::unused_type, bsq::unused_type)
const {
83 const std::string lFaaCodeStr (iChar.begin(), iChar.end());
98 bsq::unused_type, bsq::unused_type)
const {
100 const std::string lUNLOCodeStr (iChar.begin(), iChar.end());
115 bsq::unused_type, bsq::unused_type)
const {
130 bsq::unused_type, bsq::unused_type)
const {
144 bsq::unused_type, bsq::unused_type)
const {
158 bsq::unused_type, bsq::unused_type)
const {
160 const std::string lCommonNameStr (iChar.begin(), iChar.end());
174 bsq::unused_type, bsq::unused_type)
const {
176 const std::string lAsciiNameStr (iChar.begin(), iChar.end());
190 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
204 bsq::unused_type)
const {
206 const std::string lAltNameShortStr (iChar.begin(), iChar.end());
221 operator() (bsq::unused_type, bsq::unused_type, bsq::unused_type)
const {
235 bsq::unused_type)
const {
237 const std::string lTvlPORCodeStr (iChar.begin(), iChar.end());
251 bsq::unused_type)
const {
264 bsq::unused_type, bsq::unused_type)
const {
277 bsq::unused_type, bsq::unused_type)
const {
292 bsq::unused_type)
const {
293 const std::string lFeatClassStr (iChar.begin(), iChar.end());
309 bsq::unused_type)
const {
310 const std::string lFeatCodeStr (iChar.begin(), iChar.end());
325 bsq::unused_type, bsq::unused_type)
const {
339 bsq::unused_type, bsq::unused_type)
const {
354 bsq::unused_type, bsq::unused_type)
const {
369 bsq::unused_type, bsq::unused_type)
const {
388 bsq::unused_type)
const {
389 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
404 bsq::unused_type)
const {
405 const std::string lCountryCodeStr (iChar.begin(), iChar.end());
420 bsq::unused_type)
const {
421 const std::string lCountryNameStr (iChar.begin(), iChar.end());
436 bsq::unused_type)
const {
437 const std::string lContinentNameStr (iChar.begin(), iChar.end());
452 bsq::unused_type)
const {
453 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
468 bsq::unused_type)
const {
469 const std::string lAdmNameStr (iChar.begin(), iChar.end());
484 bsq::unused_type)
const {
485 const std::string lAdmNameStr (iChar.begin(), iChar.end());
500 bsq::unused_type)
const {
501 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
516 bsq::unused_type)
const {
517 const std::string lAdmNameStr (iChar.begin(), iChar.end());
532 bsq::unused_type)
const {
533 const std::string lAdmNameStr (iChar.begin(), iChar.end());
548 bsq::unused_type)
const {
549 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
564 bsq::unused_type)
const {
565 const std::string lAdmCodeStr (iChar.begin(), iChar.end());
579 bsq::unused_type, bsq::unused_type)
const {
592 bsq::unused_type, bsq::unused_type)
const {
605 bsq::unused_type, bsq::unused_type)
const {
619 bsq::unused_type)
const {
620 const std::string lTimeZoneStr (iChar.begin(), iChar.end());
634 bsq::unused_type, bsq::unused_type)
const {
647 bsq::unused_type, bsq::unused_type)
const {
660 bsq::unused_type, bsq::unused_type)
const {
673 bsq::unused_type, bsq::unused_type)
const {
687 bsq::unused_type, bsq::unused_type)
const {
689 const std::string lCityCodeStr (iChar.begin(), iChar.end());
704 bsq::unused_type)
const {
718 bsq::unused_type)
const {
720 const std::string lCityUtfNameStr (iChar.begin(), iChar.end());
735 bsq::unused_type)
const {
737 const std::string lCityAsciiNameStr (iChar.begin(), iChar.end());
752 bsq::unused_type)
const {
754 const std::string lCityCountryCodeStr (iChar.begin(), iChar.end());
769 bsq::unused_type)
const {
771 const std::string lCityStateCodeStr (iChar.begin(), iChar.end());
785 bsq::unused_type, bsq::unused_type)
const {
787 const std::string lStateCodeStr (iChar.begin(), iChar.end());
801 bsq::unused_type, bsq::unused_type)
const {
814 bsq::unused_type, bsq::unused_type)
const {
815 const std::string lWACNameStr (iChar.begin(), iChar.end());
830 bsq::unused_type)
const {
831 const std::string lCurrencyCodeStr (iChar.begin(), iChar.end());
845 bsq::unused_type, bsq::unused_type)
const {
846 const std::string lIATATypeStr (iChar.begin(), iChar.end());
847 const IATAType lIATAType (lIATATypeStr);
860 bsq::unused_type, bsq::unused_type)
const {
862 const std::string lWikiLinkStr (iChar.begin(), iChar.end());
877 bsq::unused_type)
const {
891 bsq::unused_type)
const {
905 bsq::unused_type, bsq::unused_type)
const {
907 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
921 bsq::unused_type, bsq::unused_type)
const {
923 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
938 bsq::unused_type, bsq::unused_type)
const {
940 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
941 std::ostringstream oStr;
955 bsq::unused_type, bsq::unused_type)
const {
957 const std::string lAltLangCodeStr (iChar.begin(), iChar.end());
958 std::ostringstream oStr;
972 bsq::unused_type, bsq::unused_type)
const {
974 const std::string lAltNameStr (iChar.begin(), iChar.end());
993 bsq::unused_type, bsq::unused_type)
const {
1233 template <
typename Iterator>
1242 header = bsq::lit(
"iata_code") >> +(bsa::char_ - bsq::eoi - bsq::eol)
1243 >> (bsq::eoi | bsq::eol);
1290 >>
'^' >> (
mod_date | bsq::lit(
"-1"))
1323 (bsq::no_skip[+~bsa::char_(
'^')]
1328 (bsq::no_skip[+~bsa::char_(
'^')]
1335 (bsq::no_skip[+~bsa::char_(
"^,")]
1342 (bsq::no_skip[+~bsa::char_(
"^,")]
1365 (bsq::no_skip[+~bsa::char_(
'^')]
1374 (bsq::no_skip[+~bsa::char_(
'^')]
1379 (bsq::no_skip[+~bsa::char_(
'^')]
1384 (bsq::no_skip[+~bsa::char_(
'^')]
1389 (bsq::no_skip[+~bsa::char_(
'^')]
1394 (bsq::no_skip[+~bsa::char_(
'^')]
1399 (bsq::no_skip[+~bsa::char_(
'^')]
1404 (bsq::no_skip[+~bsa::char_(
'^')]
1409 (bsq::no_skip[+~bsa::char_(
'^')]
1414 (bsq::no_skip[+~bsa::char_(
'^')]
1419 (bsq::no_skip[+~bsa::char_(
'^')]
1424 (bsq::no_skip[+~bsa::char_(
'^')]
1435 (bsq::no_skip[+~bsa::char_(
'^')]
1463 (bsq::no_skip[+~bsa::char_(
"^|=")]
1468 (bsq::no_skip[+~bsa::char_(
"^|=")]
1477 (bsq::no_skip[+~bsa::char_(
'^')]
1495 (bsq::no_skip[+~bsa::char_(
'^')]
1502 (bsq::no_skip[+~bsa::char_(
'^')]
1507 (bsq::no_skip[+~bsa::char_(
'^')]
1521 bsq::repeat(1,2)[bsa::char_(
"hp")]
1533 bsq::repeat(1,2)[bsa::char_(
"hp")]
1545 (bsq::no_skip[+~bsa::char_(
'^')]
1577 (bsq::no_skip[+~bsa::char_(
"|=")]
1582 bsq::repeat(1,4)[bsa::char_(
"shpc")]
1586 BOOST_SPIRIT_DEBUG_NODE (
start);
1587 BOOST_SPIRIT_DEBUG_NODE (
header);
1588 BOOST_SPIRIT_DEBUG_NODE (
por_rule);
1590 BOOST_SPIRIT_DEBUG_NODE (
por_key);
1594 BOOST_SPIRIT_DEBUG_NODE (
faa_code);
1606 BOOST_SPIRIT_DEBUG_NODE (
latitude);
1612 BOOST_SPIRIT_DEBUG_NODE (
date_end);
1613 BOOST_SPIRIT_DEBUG_NODE (
comments);
1628 BOOST_SPIRIT_DEBUG_NODE (
gtopo30);
1633 BOOST_SPIRIT_DEBUG_NODE (
mod_date);
1634 BOOST_SPIRIT_DEBUG_NODE (
date);
1646 BOOST_SPIRIT_DEBUG_NODE (
por_type);
1652 BOOST_SPIRIT_DEBUG_NODE (
alt_name);
1659 BOOST_SPIRIT_DEBUG_NODE (
wac);
1660 BOOST_SPIRIT_DEBUG_NODE (
wac_name);
1661 BOOST_SPIRIT_DEBUG_NODE (
ccy_code);
1668 BOOST_SPIRIT_DEBUG_NODE (
uic_code);
1675 bsq::rule<Iterator, bsa::space_type>
1717 : _string (iString) {
1722 void PORStringParser::init() {
1737 std::istringstream stringToBeParsed (_string);
1755 bool hasParsingBeenSuccesful =
false;
1758 hasParsingBeenSuccesful = bsq::phrase_parse (fwd_start, fwd_end,
1759 lPORParser, bsa::space);
1761 }
catch (
const bsq::expectation_failure<pos_iterator_t>& e) {
1762 const bsc::file_position_base<std::string>& pos = e.first.get_position();
1763 std::ostringstream oStr;
1764 oStr <<
"Parse error on POR string '" << _string
1765 <<
"', position " << pos.column << std::endl
1766 <<
"'" << e.first.get_currentline() <<
"'" << std::endl
1767 << std::setw(pos.column) <<
" " <<
"^- here";
1772 if (hasParsingBeenSuccesful ==
false) {
1776 + _string +
"' failed");
1779 if (fwd_start != fwd_end) {
1783 + _string +
"' failed");
1787 if (hasParsingBeenSuccesful ==
true && fwd_start == fwd_end) {
1807 : _filename (iFilename) {
1812 void PORFileParser::init() {
1821 const char* lFilenameStr = _filename.c_str();
1822 std::ifstream fileToBeParsed (lFilenameStr, std::ios_base::in);
1825 if (fileToBeParsed.is_open() ==
false) {
1830 +
"' file does not exist or can not be read");
1845 const bool hasParsingBeenSuccesful =
1846 bsq::phrase_parse (start, end, lPORParser, bsa::space);
1848 if (hasParsingBeenSuccesful ==
false) {
1852 + _filename +
"') failed");
1859 + _filename +
"') failed");
1862 if (hasParsingBeenSuccesful ==
true && start == end) {
storeAdm2Code(Location &)
void setStateCode(const std::string &iStateCode)
storeAltLangCodeFull(Location &)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > adm1_name_ascii
storeAltCountryCode(Location &)
bsq::rule< Iterator, bsa::space_type > city_geoname_id
storeGeonamesID(Location &)
storeLongitude(Location &)
void setAdmin4Code(const std::string &iAdminCode)
storeLatitude(Location &)
storeWikiLink(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeIataCode(Location &)
#define OPENTREP_LOG_ERROR(iToBeLogged)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > city_state_code
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 operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > wiki_link
bsq::rule< Iterator, bsa::space_type > tvl_por_sep
void setAdmin1AsciiName(const std::string &iAdminName)
bsq::rule< Iterator, bsa::space_type > por_rule_end
bsq::rule< Iterator, bsa::space_type > tvl_por_code_list
bsq::rule< Iterator, bsa::space_type > uic_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 setGTopo30(const GTopo30_T &iGTopo30)
boost::spirit::qi::uint_parser< month_t, 10, 2, 2 > month_p_t
storeAdm2AsciiName(Location &)
bsq::rule< Iterator, bsa::space_type > alt_name_details
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
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
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
bsq::rule< Iterator, bsa::space_type > state_code
bsq::rule< Iterator, bsa::space_type > date
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > geoname_lon
bsq::rule< Iterator, bsa::space_type > city_details
bsq::rule< Iterator, bsa::space_type > country_name
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > latitude
LanguageCode_T _itLanguageCode
boost::spirit::qi::uint_parser< hour_t, 10, 2, 2 > hour_p_t
bsq::rule< Iterator, bsa::space_type > geoname_lat
bsq::rule< Iterator, bsa::space_type > alt_name_section
Structure modelling a (geographical) location.
bsq::rule< Iterator, bsa::space_type > country_code
void setEnvelopeID(const EnvelopeID_T &iEnvelopeID)
bsq::rule< Iterator, bsa::space_type > city_code_list
void setLongitude(const Longitude_T &iLongitude)
bsq::rule< Iterator, bsa::space_type > adm2_name_ascii
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > unlc_section
bsq::rule< Iterator, bsa::space_type > population
boost::spirit::qi::uint_parser< int, 10, 2, 2 > uint2_p_t
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeCountryName(Location &)
bsq::rule< Iterator, bsa::space_type > gmt_offset
bsq::rule< Iterator, bsa::space_type > uic_qualifiers
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
storeContinentName(Location &)
bsq::rule< Iterator, bsa::space_type > city_name_list
OPENTREP::uint1_9_p_t uint1_9_p
bsq::rule< Iterator, bsa::space_type > start
bsq::rule< Iterator, bsa::space_type > uic_code
boost::spirit::qi::uint_parser< int, 10, 1, 9 > uint1_9_p_t
storeDateFrom(Location &)
bsq::rule< Iterator, bsa::space_type > iata_code
storeCountryCode(Location &)
bsq::rule< Iterator, bsa::space_type > lang_code_hist
OPENTREP::second_p_t second_p
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > elevation
PORStringParser(const std::string &iString)
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
bsq::rule< Iterator, bsa::space_type > city_name_ascii
void setGeonamesID(const GeonamesID_T &iGeonamesID)
std::string _itCityStateCode
bsq::rule< Iterator, bsa::space_type > adm2_code
void setFaaCode(const std::string &iFaaCode)
boost::gregorian::date Date_T
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > adm2_name_utf
OPENTREP::uint2_p_t uint2_p
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)
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
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, bsa::space_type > alt_lang_code_ftd
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
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, bsa::space_type > dst_offset
bsq::rule< Iterator, bsa::space_type > adm1_code
OPENTREP::uint1_p_t uint1_p
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)
bsq::rule< Iterator, bsa::space_type > alt_name_short_list
bsq::rule< Iterator, bsa::space_type > feat_code
bsq::rule< Iterator, bsa::space_type > raw_offset
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)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > city_detail_list
bsq::rule< Iterator, bsa::space_type > unlocode_code
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
IATACodeList_T _itTvlPORList
bsq::rule< Iterator, bsa::space_type > city_country_code
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 &)
bsq::rule< Iterator, bsa::space_type > faa_code
storeStateCode(Location &)
bsq::rule< Iterator, bsa::space_type > alt_name_qualifiers
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setCommonName(const std::string &iName)
bsq::rule< Iterator, bsa::space_type > por_key
bsq::rule< Iterator, bsa::space_type > geoname_id
bsq::rule< Iterator, bsa::space_type > city_name_utf
boost::spirit::qi::uint_parser< int, 10, 4, 4 > uint4_p_t
bsq::rule< Iterator, bsa::space_type > lang_code_2char
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 &)
bsq::rule< Iterator, bsa::space_type > alt_name_short
bsq::rule< Iterator, bsa::space_type > uic_section
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeTimeZone(Location &)
bsq::rule< Iterator, bsa::space_type > por_details_additional
bsq::rule< Iterator, bsa::space_type > gtopo30
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, bsa::space_type > city_code
bsq::rule< Iterator, bsa::space_type > date_end
void setAsciiName(const std::string &iName)
bsq::rule< Iterator, bsa::space_type > feat_class
OPENTREP::hour_p_t hour_p
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > header
AltNameShortList_T _itAltNameShortList
storeAdm3Code(Location &)
storeCityUtfName(Location &)
bsq::rule< Iterator, bsa::space_type > lang_code_opt
storeAltNameShortListString(Location &)
void setAdmin1UtfName(const std::string &iAdminName)
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
bsq::rule< Iterator, bsa::space_type > por_type
OPENTREP::int1_2_p_t int1_2_p
bsq::rule< Iterator, bsa::space_type > adm1_name_utf
storeUNLOCode(Location &)
storeAdm1AsciiName(Location &)
bsq::rule< Iterator, bsa::space_type > wac
boost::spirit::qi::uint_parser< int, 10, 1, 4 > uint1_4_p_t
void setContinentName(const std::string &iContinentName)
bsq::rule< Iterator, bsa::space_type > ascii_name
bsq::rule< Iterator, bsa::space_type > envelope_id
void setDateFrom(const Date_T &iDate)
storeElevation(Location &)
storeCityGeonamesID(Location &)
OPENTREP::uint4_p_t uint4_p
void operator()(float, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void operator()(double, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
void setIataCode(const std::string &iIataCode)
bsq::rule< Iterator, bsa::space_type > icao_code
storeFeatureClass(Location &)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeAdm4Code(Location &)
bsq::rule< Iterator, bsa::space_type > ccy_code
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
void operator()(boost::spirit::qi::unused_type, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > country_code2
void setLatitude(const Latitude_T &iLatitude)
storeCityCountryCode(Location &)
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()
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
std::string _itCityCountryCode
boost::spirit::multi_pass< base_iterator_t > iterator_t
bsq::rule< Iterator, bsa::space_type > tvl_por_code
void setWACName(const std::string &iWACName)
std::string _itCityUtfName
void setDateEnd(const Date_T &iDate)
bsq::rule< Iterator, bsa::space_type > page_rank
bsq::rule< Iterator, bsa::space_type > unlc_qualifiers
bsq::rule< Iterator, bsa::space_type > is_geonames
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.
bsq::rule< Iterator, bsa::space_type > wac_name
std::string _itCityAsciiName
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, bsa::space_type > alt_name
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)
LocationParser(Location &ioPORRule)
bsq::rule< Iterator, bsa::space_type > adm3_code
bsq::rule< Iterator, bsa::space_type > longitude
bsq::rule< Iterator, bsa::space_type > alt_lang_code
PORFileParser(const PORFilePath_T &iFilename)
void setRawDataString(const std::string &iRawDataString)
storeAltLangCodeExt(Location &)
storeCityStateCode(Location &)
bsq::rule< Iterator, bsa::space_type > adm4_code
void addName(const LanguageCode_T &iLanguageCode, const std::string &iName)
void setCurrencyCode(const std::string &iCurrencyCode)
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
storeEnvelopeID(Location &)
bsq::rule< Iterator, bsa::space_type > unlc_details
const Location & generateLocation()
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > date_from
GeonamesID_T _itCityGeonamesID
storeAltLangCodeHist(Location &)
bsq::rule< Iterator, bsa::space_type > alt_name_sep
bsq::rule< Iterator, bsa::space_type > comments
bsq::rule< Iterator, bsa::space_type > continent_name
void operator()(unsigned int, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
std::string _itLangCode2Char
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeAdm1Code(Location &)
storeCityDetailList(Location &)
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)
bsq::rule< Iterator, bsa::space_type > mod_date
bsq::rule< Iterator, bsa::space_type > por_details
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, bsa::space_type > por_rule
void setIataType(const IATAType &iIATAType)
bsq::rule< Iterator, bsa::space_type > common_name
void addUNLOCode(const UNLOCode_T &iUNLOCode)
void operator()(std::vector< uchar_t >, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
bsq::rule< Iterator, bsa::space_type > time_zone
void operator()(unsigned int iUICCode, boost::spirit::qi::unused_type, boost::spirit::qi::unused_type) const
storeCityCode(Location &)
storeDSTOffset(Location &)
bsq::rule< Iterator, bsa::space_type > lang_code_ext
void setAdmin2Code(const std::string &iAdminCode)