diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-08-23 23:56:35 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-08-23 23:56:35 +0200 |
| commit | e4fd839ddaaf3fc68df2cb502a633a2ae6a9f86f (patch) | |
| tree | 681b2a63eb9b9497b97697e3f1479a7b20270427 /src/buffer_iterator.inl.hh | |
| parent | 0d8cce272831cd896d0e69d7c86cc9afc521eb11 (diff) | |
use a strongly typed int CharCount for character counts
Diffstat (limited to 'src/buffer_iterator.inl.hh')
| -rw-r--r-- | src/buffer_iterator.inl.hh | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/buffer_iterator.inl.hh b/src/buffer_iterator.inl.hh index b91734dc..1b346527 100644 --- a/src/buffer_iterator.inl.hh +++ b/src/buffer_iterator.inl.hh @@ -114,25 +114,25 @@ inline Character BufferIterator::operator*() const return m_buffer->m_lines[line()].content[column()]; } -inline BufferSize BufferIterator::offset() const +inline CharCount BufferIterator::offset() const { assert(m_buffer); return line() == 0 ? column() - : m_buffer->m_lines[line()].start + column(); + : m_buffer->m_lines[line()].start + column(); } -inline BufferSize BufferIterator::operator-(const BufferIterator& iterator) const +inline size_t BufferIterator::operator-(const BufferIterator& iterator) const { assert(m_buffer == iterator.m_buffer); - return offset() - iterator.offset(); + return (size_t)(int)(offset() - iterator.offset()); } -inline BufferIterator BufferIterator::operator+(BufferSize size) const +inline BufferIterator BufferIterator::operator+(CharCount size) const { assert(m_buffer); if (size >= 0) { - BufferSize o = std::min(m_buffer->character_count(), offset() + size); + CharCount o = std::min(m_buffer->character_count(), offset() + size); for (LineCount i = line() + 1; i < m_buffer->line_count(); ++i) { if (m_buffer->m_lines[i].start > o) @@ -144,12 +144,12 @@ inline BufferIterator BufferIterator::operator+(BufferSize size) const return operator-(-size); } -inline BufferIterator BufferIterator::operator-(BufferSize size) const +inline BufferIterator BufferIterator::operator-(CharCount size) const { assert(m_buffer); if (size >= 0) { - BufferSize o = std::max(0, offset() - size); + CharCount o = std::max(0_char, offset() - size); for (LineCount i = line(); i >= 0; --i) { if (m_buffer->m_lines[i].start <= o) @@ -160,12 +160,12 @@ inline BufferIterator BufferIterator::operator-(BufferSize size) const return operator+(-size); } -inline BufferIterator& BufferIterator::operator+=(BufferSize size) +inline BufferIterator& BufferIterator::operator+=(CharCount size) { return *this = (*this + size); } -inline BufferIterator& BufferIterator::operator-=(BufferSize size) +inline BufferIterator& BufferIterator::operator-=(CharCount size) { return *this = (*this - size); } |
