diff options
-rw-r--r-- | src/Document.cxx | 1 | ||||
-rw-r--r-- | src/RESearch.cxx | 7 | ||||
-rw-r--r-- | src/RESearch.h | 7 | ||||
-rw-r--r-- | test/unit/testRESearch.cxx | 1 |
4 files changed, 10 insertions, 6 deletions
diff --git a/src/Document.cxx b/src/Document.cxx index 94d126a70..0365b24db 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -16,6 +16,7 @@ #include <string> #include <string_view> #include <vector> +#include <array> #include <forward_list> #include <optional> #include <algorithm> diff --git a/src/RESearch.cxx b/src/RESearch.cxx index 9a2981ffe..98399c925 100644 --- a/src/RESearch.cxx +++ b/src/RESearch.cxx @@ -205,6 +205,7 @@ #include <stdexcept> #include <string> +#include <array> #include <algorithm> #include <iterator> @@ -260,11 +261,11 @@ RESearch::RESearch(CharClassify *charClassTable) { Clear(); } -void RESearch::Clear() noexcept { +void RESearch::Clear() { + bopat.fill(NOTFOUND); + eopat.fill(NOTFOUND); for (int i = 0; i < MAXTAG; i++) { pat[i].clear(); - bopat[i] = NOTFOUND; - eopat[i] = NOTFOUND; } } diff --git a/src/RESearch.h b/src/RESearch.h index 34c6c46f9..c142441ae 100644 --- a/src/RESearch.h +++ b/src/RESearch.h @@ -21,7 +21,7 @@ class RESearch { public: explicit RESearch(CharClassify *charClassTable); // No dynamic allocation so default copy constructor and assignment operator are OK. - void Clear() noexcept; + void Clear(); void GrabMatches(const CharacterIndexer &ci); const char *Compile(const char *pattern, Sci::Position length, bool caseSensitive, bool posix) noexcept; int Execute(const CharacterIndexer &ci, Sci::Position lp, Sci::Position endp); @@ -29,8 +29,9 @@ public: static constexpr int MAXTAG = 10; static constexpr int NOTFOUND = -1; - Sci::Position bopat[MAXTAG]; - Sci::Position eopat[MAXTAG]; + using MatchPositions = std::array<Sci::Position, MAXTAG>; + MatchPositions bopat; + MatchPositions eopat; std::string pat[MAXTAG]; private: diff --git a/test/unit/testRESearch.cxx b/test/unit/testRESearch.cxx index 0dadc21c4..5571960d4 100644 --- a/test/unit/testRESearch.cxx +++ b/test/unit/testRESearch.cxx @@ -7,6 +7,7 @@ #include <stdexcept> #include <string_view> #include <vector> +#include <array> #include <optional> #include <algorithm> #include <memory> |