From 25303ae49278ad2c7c82381d0a7e8d4a1c3af9fb Mon Sep 17 00:00:00 2001 From: VladiMihaylenko Date: Fri, 3 Feb 2017 16:47:42 +0300 Subject: Added shields to French roads. --- indexer/ftypes_matcher.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'indexer/ftypes_matcher.cpp') diff --git a/indexer/ftypes_matcher.cpp b/indexer/ftypes_matcher.cpp index a893befac4..67f316872f 100644 --- a/indexer/ftypes_matcher.cpp +++ b/indexer/ftypes_matcher.cpp @@ -712,12 +712,23 @@ public: strings::UniString s = strings::MakeUniString(rawText); if (s[0] == 'E' || s[0] == strings::UniChar(1045)) // Latin and cyrillic. - return RoadShield(RoadShieldType::Russia_Motorway, rawText); + return RoadShield(RoadShieldType::Euro_Motorway, rawText); return RoadShield(RoadShieldType::Russia_Highway, rawText); } }; +class FranceRoadShieldParser : public SimpleRoadShieldParser +{ +public: + FranceRoadShieldParser(std::string const & baseRoadNumber) + : SimpleRoadShieldParser(baseRoadNumber, {{'A', RoadShieldType::France_Motorway}, + {'N', RoadShieldType::France_Motorway}, + {'E', RoadShieldType::Euro_Motorway}, + {'D', RoadShieldType::France_Departmental}}) + {} +}; + std::vector GetRoadShields(FeatureType const & f) { std::string const roadNumber = f.GetRoadNumber(); @@ -737,6 +748,8 @@ std::vector GetRoadShields(FeatureType const & f) return UKRoadShieldParser(roadNumber).GetRoadShields(); if (mwmName == "Russia") return RussiaRoadShieldParser(roadNumber).GetRoadShields(); + if (mwmName == "France") + return FranceRoadShieldParser(roadNumber).GetRoadShields(); return std::vector{RoadShield(RoadShieldType::Default, roadNumber)}; } -- cgit v1.2.3