diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2011-10-23 20:26:30 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2011-10-23 20:26:30 +0000 |
| commit | fffa405bfd86ec49fd27d7f9a903271409a0ea24 (patch) | |
| tree | 02f00b85fd42b79716de256ca3a15d4329fc9242 /src/display_buffer.cc | |
| parent | ad6ee464f4845a85c62702a5132cdcf1a19f7f1e (diff) | |
DisplayBuffer: overload atom_containing with a version taking an iterator to search start
Diffstat (limited to 'src/display_buffer.cc')
| -rw-r--r-- | src/display_buffer.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc index 64b2099e..a263d8f5 100644 --- a/src/display_buffer.cc +++ b/src/display_buffer.cc @@ -88,10 +88,16 @@ DisplayBuffer::iterator DisplayBuffer::insert(iterator where, const DisplayAtom& DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where) { - for (iterator it = m_atoms.begin(); it != m_atoms.end(); ++it) + return atom_containing(where, m_atoms.begin()); +} + +DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& where, + iterator start) +{ + for (iterator it = start; it != m_atoms.end(); ++it) { if (it->end() > where) - return it; + return it->begin() <= where ? it : end(); } return end(); } |
