1 #include "extractor/suffix_table.hpp" 2 #include "extractor/scripting_environment.hpp" 3 4 #include <algorithm> 5 #include <iterator> 6 7 #include <boost/algorithm/string.hpp> 8 9 namespace osrm 10 { 11 namespace extractor 12 { 13 SuffixTable(ScriptingEnvironment & scripting_environment)14SuffixTable::SuffixTable(ScriptingEnvironment &scripting_environment) 15 { 16 suffixes = scripting_environment.GetNameSuffixList(); 17 18 for (auto &suffix : suffixes) 19 boost::algorithm::to_lower(suffix); 20 21 auto into = std::inserter(suffix_set, end(suffix_set)); 22 auto to_view = [](const auto &s) { return util::StringView{s}; }; 23 std::transform(begin(suffixes), end(suffixes), into, to_view); 24 } 25 isSuffix(const std::string & possible_suffix) const26bool SuffixTable::isSuffix(const std::string &possible_suffix) const 27 { 28 return isSuffix(util::StringView{possible_suffix}); 29 } 30 isSuffix(util::StringView possible_suffix) const31bool SuffixTable::isSuffix(util::StringView possible_suffix) const 32 { 33 return suffix_set.count(possible_suffix) > 0; 34 } 35 36 } /* namespace extractor */ 37 } /* namespace osrm */ 38