summaryrefslogtreecommitdiff
path: root/src/display_buffer.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2011-10-18 13:59:32 +0000
committerMaxime Coste <frrrwww@gmail.com>2011-10-18 13:59:32 +0000
commit32e01947fa1d56a171d64e9144a9a1ccfc1a250f (patch)
treedf233c356b8bb389915cae62d4d641496b74d070 /src/display_buffer.cc
parent6fd7f97fa74b5b613dff20d67e0604a01a8dee47 (diff)
DisplayBuffer: store atoms in a std::list instead of a vector
Diffstat (limited to 'src/display_buffer.cc')
-rw-r--r--src/display_buffer.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/display_buffer.cc b/src/display_buffer.cc
index c0e6ec77..64b2099e 100644
--- a/src/display_buffer.cc
+++ b/src/display_buffer.cc
@@ -98,7 +98,6 @@ DisplayBuffer::iterator DisplayBuffer::atom_containing(const BufferIterator& whe
DisplayBuffer::iterator DisplayBuffer::split(iterator atom, const BufferIterator& pos)
{
- assert(atom < end());
assert(pos > atom->begin());
assert(pos < atom->end());
DisplayAtom new_atom(atom->coord(), atom->begin(), pos,
@@ -113,21 +112,22 @@ DisplayBuffer::iterator DisplayBuffer::split(iterator atom, const BufferIterator
void DisplayBuffer::check_invariant() const
{
- for (size_t i = 0; i < m_atoms.size(); ++i)
+ const_iterator prev_it;
+ for (const_iterator it = begin(); it != end(); ++it)
{
- assert(m_atoms[i].end() >= m_atoms[i].begin());
- if (i > 0)
+ assert(it->end() >= it->begin());
+ if (it != begin())
{
- assert(m_atoms[i-1].end() == m_atoms[i].begin());
- assert(m_atoms[i-1].end_coord() == m_atoms[i].coord());
+ assert(prev_it->end() == it->begin());
+ assert(prev_it->end_coord() == it->coord());
}
+ prev_it = it;
}
}
void DisplayBuffer::replace_atom_content(iterator atom,
const BufferString& replacement)
{
- assert(atom < end());
atom->m_replacement_text = replacement;
// update coordinates of subsequents atoms