diff options
author | Yury Melnichek <melnichek@gmail.com> | 2013-02-07 04:07:56 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:49:47 +0300 |
commit | 056f14ef4eb80c65224b37801927a0626682c1de (patch) | |
tree | a254ed85bf46606deff9e84d0c91d19889ffb6a1 /indexer | |
parent | 7fdac1d3bd3c2858c1025c25d96ef832e2b5b241 (diff) |
[search] Keyword Matcher rewrite.
Diffstat (limited to 'indexer')
-rw-r--r-- | indexer/search_string_utils.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indexer/search_string_utils.hpp b/indexer/search_string_utils.hpp index 1503b5d4d8..f845a43bf0 100644 --- a/indexer/search_string_utils.hpp +++ b/indexer/search_string_utils.hpp @@ -23,4 +23,24 @@ void SplitUniString(strings::UniString const & uniS, F f, DelimsT const & delims strings::UniString FeatureTypeToString(uint32_t type); +template <class ContainerT, class DelimsT> +bool TokenizeStringAndCheckIfLastTokenIsPrefix(strings::UniString const & s, + ContainerT & tokens, + DelimsT const & delimiter) +{ + SplitUniString(s, MakeBackInsertFunctor(tokens), delimiter); + return !s.empty() && !delimiter(s.back()); +} + + +template <class ContainerT, class DelimsT> +bool TokenizeStringAndCheckIfLastTokenIsPrefix(string const & s, + ContainerT & tokens, + DelimsT const & delimiter) +{ + return TokenizeStringAndCheckIfLastTokenIsPrefix(NormalizeAndSimplifyString(s), + tokens, + delimiter); +} + } // namespace search |