add Buffer::Iterator::warp_to_offset()

This commit is contained in:
josh committed 2017-01-07 16:34:01 -05:00
1 parent 904ac01a1c
commit 6108d09e8d
2 files changed
+22

No files matched your search

+21
View File
@@ -180,3 +180,24 @@ bool Buffer::Iterator::go_next_line()
}
return false;
}
void Buffer::Iterator::warp_to_offset(size_t offset)
{
Iterator i = m_buffer->begin();
m_offset = i.m_offset;
m_line = i.m_line;
for (;;)
{
i.go_forward();
if (i.m_offset > offset)
{
break;
}
m_offset = i.m_offset;
m_line = i.m_line;
if (!i.valid())
{
break;
}
}
}
+1
View File
@@ -46,6 +46,7 @@ public:
m_offset += offset_offset;
m_line += line_offset;
}
void warp_to_offset(size_t offset);
uint8_t * address() const
{
return m_buffer->address(m_offset);