From 5ed308ed0ed0002e18163ff5b351daad15dbd73a Mon Sep 17 00:00:00 2001 From: Maksim Andrianov Date: Tue, 29 Oct 2019 13:59:11 +0300 Subject: [generator] Used trim without locale instead of boost::trim. --- generator/osm_element.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/generator/osm_element.cpp b/generator/osm_element.cpp index 2446f6c3ed..6ccc9e24eb 100644 --- a/generator/osm_element.cpp +++ b/generator/osm_element.cpp @@ -9,6 +9,27 @@ #include #include +namespace +{ +std::string & Ltrim(std::string & s) +{ + s.erase(s.begin(), std::find_if(s.cbegin(), s.cend(), [](auto c) {return !std::isspace(c); })); + return s; +} + +std::string & Rtrim(std::string & s) +{ + s.erase(std::find_if(s.crbegin(), s.crend(), [](auto c) {return !std::isspace(c); }).base(), + s.end()); + return s; +} + +std::string & Trim(std::string & s) +{ + return Ltrim(Rtrim(s)); +} +} // namespace + std::string DebugPrint(OsmElement::EntityType type) { switch (type) @@ -69,8 +90,7 @@ void OsmElement::AddTag(char const * key, char const * value) #undef SKIP_KEY_BY_PREFIX std::string val{value}; - strings::Trim(val); - m_tags.emplace_back(key, std::move(val)); + m_tags.emplace_back(key, std::move(Trim(val))); } void OsmElement::AddTag(std::string const & key, std::string const & value) -- cgit v1.2.3