aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx34
1 files changed, 1 insertions, 33 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index e0fd78eda..45e0799e8 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -1986,38 +1986,6 @@ Document::CharacterExtracted Document::ExtractCharacter(Sci::Position position)
namespace {
-struct SplitView {
- const char *segment1 = nullptr;
- size_t length1 = 0;
- const char *segment2 = nullptr;
- size_t length = 0;
-
- SplitView() = default;
- SplitView(CellBuffer &cb) noexcept {
- segment1 = cb.RangePointer(0, 0);
- length1 = cb.GapPosition();
- segment2 = cb.RangePointer(length1, 0) - length1;
- length = cb.Length();
- }
- bool operator==(const SplitView &other) const noexcept {
- return segment1 == other.segment1 && length1 == other.length1 &&
- segment2 == other.segment2 && length == other.length;
- }
- bool operator!=(const SplitView &other) const noexcept {
- return !(*this == other);
- }
-
- char CharAt(size_t position) const noexcept {
- if (position < length1) {
- return segment1[position];
- }
- if (position < length) {
- return segment2[position];
- }
- return 0;
- }
-};
-
// Equivalent of memchr over the split view
ptrdiff_t SplitFindChar(const SplitView &view, size_t start, size_t length, int ch) noexcept {
size_t range1Length = 0;
@@ -2086,7 +2054,7 @@ Sci::Position Document::FindText(Sci::Position minPos, Sci::Position maxPos, con
// Back all of a character
pos = NextPosition(pos, increment);
}
- const SplitView cbView(cb);
+ const SplitView cbView = cb.AllView();
if (caseSensitive) {
const Sci::Position endSearch = (startPos <= endPos) ? endPos - lengthFind + 1 : endPos;
const unsigned char charStartSearch = search[0];