diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-07-03 21:12:05 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-07-03 21:12:05 +0200 |
| commit | d092afead9ebd97c2274719730c6f2b5246a6087 (patch) | |
| tree | fb2f1833da960cd3cf538a9784685183cc315de7 /src/display_buffer.cc | |
| parent | d7e1cab11679cd983359b22c3b29188264d44ceb (diff) | |
make DisplayBuffer::atom_containing easier to understand
Diffstat (limited to 'src/display_buffer.cc')
| -rw-r--r-- | src/display_buffer.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc index 3926e227..11913e76 100644 --- a/src/display_buffer.cc +++ b/src/display_buffer.cc @@ -110,12 +110,16 @@ DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& whe DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where, iterator start) { - if (where < start->begin()) + if (start == end() or where < start->begin()) return end(); - return std::upper_bound(start, end(), where, - [](const BufferIterator& where, const DisplayAtom& atom) - { return where < atom.end(); }); + while (start != end()) + { + if (start->end() > where) + break; + ++start; + } + return start; } DisplayBuffer::iterator DisplayBuffer::split(iterator atom, const BufferIterator& pos) |
