summaryrefslogtreecommitdiff
path: root/src/mongo/db/fts/unicode/string.cpp
diff options
context:
space:
mode:
authorApollon Oikonomopoulos <apoikos@debian.org>2018-03-22 12:04:55 +0200
committerApollon Oikonomopoulos <apoikos@debian.org>2018-03-22 12:04:55 +0200
commitc49e99631589113663b1a3ac691870421965a315 (patch)
treeac8127a5a6816f169a6656511bf131a35af2f74a /src/mongo/db/fts/unicode/string.cpp
parentd982a88efa79f510c03f1c6c8c63360680ebbf88 (diff)
New upstream version 3.4.14upstream/3.4.14
Diffstat (limited to 'src/mongo/db/fts/unicode/string.cpp')
-rw-r--r--src/mongo/db/fts/unicode/string.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/db/fts/unicode/string.cpp b/src/mongo/db/fts/unicode/string.cpp
index 10737acc3ed..8c1890f3669 100644
--- a/src/mongo/db/fts/unicode/string.cpp
+++ b/src/mongo/db/fts/unicode/string.cpp
@@ -30,6 +30,7 @@
#include <algorithm>
#include <boost/algorithm/searching/boyer_moore.hpp>
+#include <boost/version.hpp>
#include "mongo/db/fts/unicode/byte_vector.h"
#include "mongo/platform/bits.h"
@@ -272,9 +273,15 @@ bool String::substrMatch(const std::string& str,
auto haystack = caseFoldAndStripDiacritics(&haystackBuf, str, options, cfMode);
auto needle = caseFoldAndStripDiacritics(&needleBuf, find, options, cfMode);
- // Case sensitive and diacritic sensitive.
+// Case sensitive and diacritic sensitive.
+#if BOOST_VERSION < 106200
return boost::algorithm::boyer_moore_search(
haystack.begin(), haystack.end(), needle.begin(), needle.end()) != haystack.end();
+#else
+ return boost::algorithm::boyer_moore_search(
+ haystack.begin(), haystack.end(), needle.begin(), needle.end()) !=
+ std::make_pair(haystack.end(), haystack.end());
+#endif
}
} // namespace unicode