diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2011-11-27 18:41:25 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2011-11-27 18:41:25 +0000 |
| commit | dc642f8afaf71b319be6f506ab08cac5b8127b90 (patch) | |
| tree | e24014d62bb26f9db4974f8773288f3d2cf4a280 /src/buffer.cc | |
| parent | 08ba791ff4a974f21c822845e45459de8f6ed259 (diff) | |
Buffer: refactor to remove do_{insert,erase} methods
Diffstat (limited to 'src/buffer.cc')
| -rw-r--r-- | src/buffer.cc | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/buffer.cc b/src/buffer.cc index 6ac647b6..33f2ae3b 100644 --- a/src/buffer.cc +++ b/src/buffer.cc @@ -46,18 +46,6 @@ void Buffer::insert(const BufferIterator& position, const BufferString& string) append_modification(BufferModification(BufferModification::Insert, position, string)); } -void Buffer::do_erase(const BufferIterator& begin, const BufferIterator& end) -{ - m_content.erase(begin.m_position, end - begin); - compute_lines(); -} - -void Buffer::do_insert(const BufferIterator& position, const BufferString& string) -{ - m_content.insert(position.m_position, string); - compute_lines(); -} - BufferIterator Buffer::iterator_at(const BufferCoord& line_and_column) const { if (m_lines.empty()) @@ -207,19 +195,21 @@ void Buffer::apply_modification(const BufferModification& modification) switch (modification.type) { case BufferModification::Insert: - do_insert(modification.position, modification.content); + m_content.insert(modification.position.m_position, + modification.content); break; case BufferModification::Erase: { - BufferIterator begin = modification.position; - BufferIterator end = begin + modification.content.size(); - assert(string(begin, end) == modification.content); - do_erase(begin, end); + size_t size = modification.content.size(); + assert(string(modification.position, modification.position + size) + == modification.content); + m_content.erase(modification.position.m_position, size); break; } default: assert(false); } + compute_lines(); for (auto listener : m_modification_listeners) listener->on_modification(modification); } |
