diff options
Diffstat (limited to 'src/mongo/db/fts/unicode/string.cpp')
| -rw-r--r-- | src/mongo/db/fts/unicode/string.cpp | 9 |
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 |
