diff options
| author | Maxime Coste <mawww@kakoune.org> | 2017-11-07 20:00:45 +0800 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2017-11-07 20:00:45 +0800 |
| commit | 80ce768994c75952b75cf31bef3c67871e5e5723 (patch) | |
| tree | 91bf809e21069e4d7b690333fbf3b9c1a3065a0f /src/changes.hh | |
| parent | d6b5240bdfcb1a991e60fa3fd531e72cc8263ae9 (diff) | |
Slight code cleanup in change update functions
Diffstat (limited to 'src/changes.hh')
| -rw-r--r-- | src/changes.hh | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/changes.hh b/src/changes.hh index c89ea529..ffae651a 100644 --- a/src/changes.hh +++ b/src/changes.hh @@ -32,11 +32,10 @@ template<typename RangeContainer> void update_forward(ConstArrayView<Buffer::Change> changes, RangeContainer& ranges) { ForwardChangesTracker changes_tracker; - - auto change_it = changes.begin(); - auto advance_while_relevant = [&](const BufferCoord& pos) mutable { - while (change_it != changes.end() and changes_tracker.relevant(*change_it, pos)) - changes_tracker.update(*change_it++); + auto advance_while_relevant = [&, it = changes.begin()] + (const BufferCoord& pos) mutable { + while (it != changes.end() and changes_tracker.relevant(*it, pos)) + changes_tracker.update(*it++); }; for (auto& range : ranges) @@ -55,14 +54,13 @@ template<typename RangeContainer> void update_backward(ConstArrayView<Buffer::Change> changes, RangeContainer& ranges) { ForwardChangesTracker changes_tracker; - - auto advance_while_relevant = [&, it = changes.rbegin(), end = changes.rend()] + auto advance_while_relevant = [&, it = changes.rbegin()] (const BufferCoord& pos) mutable { - while (it != end) + while (it != changes.rend()) { - auto change = *it; - change.begin = changes_tracker.get_new_coord(change.begin); - change.end = changes_tracker.get_new_coord(change.end); + const Buffer::Change change{it->type, + changes_tracker.get_new_coord(it->begin), + changes_tracker.get_new_coord(it->end)}; if (not changes_tracker.relevant(change, pos)) break; changes_tracker.update(change); |
