add a m_dataStart member in Buffer::Iterator
This commit is contained in:
1 parent
74ceb06336
commit
6ced31f8b5
2 files changed
+26
-11
No files matched your search
+22
-10
@@ -216,15 +216,14 @@ Buffer::GetSize (void) const
|
||||
Buffer::Iterator
|
||||
Buffer::Begin (void) const
|
||||
{
|
||||
return Buffer::Iterator (this, 0);
|
||||
return Buffer::Iterator (this);
|
||||
}
|
||||
Buffer::Iterator
|
||||
Buffer::End (void) const
|
||||
{
|
||||
return Buffer::Iterator (this, GetSize ());
|
||||
return Buffer::Iterator (this, false);
|
||||
}
|
||||
|
||||
|
||||
Buffer::Iterator::Iterator ()
|
||||
: m_zeroStart (0),
|
||||
m_zeroEnd (0),
|
||||
@@ -232,13 +231,26 @@ Buffer::Iterator::Iterator ()
|
||||
m_current (0),
|
||||
m_data (0)
|
||||
{}
|
||||
Buffer::Iterator::Iterator (Buffer const*buffer, uint32_t current)
|
||||
: m_zeroStart (buffer->m_data->m_initialStart-buffer->m_start),
|
||||
m_zeroEnd (m_zeroStart+buffer->m_zeroAreaSize),
|
||||
m_dataEnd (buffer->GetSize ()),
|
||||
m_current (current),
|
||||
m_data (buffer->m_data->m_data+buffer->m_start)
|
||||
{}
|
||||
Buffer::Iterator::Iterator (Buffer const*buffer)
|
||||
{
|
||||
Construct (buffer);
|
||||
m_current = m_dataStart;
|
||||
}
|
||||
Buffer::Iterator::Iterator (Buffer const*buffer, bool dummy)
|
||||
{
|
||||
Construct (buffer);
|
||||
m_current = m_dataEnd;
|
||||
}
|
||||
|
||||
void
|
||||
Buffer::Iterator::Construct (const Buffer *buffer)
|
||||
{
|
||||
m_zeroStart = buffer->m_data->m_initialStart-buffer->m_start;
|
||||
m_zeroEnd = m_zeroStart+buffer->m_zeroAreaSize;
|
||||
m_dataStart = 0;
|
||||
m_dataEnd = buffer->GetSize ();
|
||||
m_data = buffer->m_data->m_data+buffer->m_start;
|
||||
}
|
||||
|
||||
void
|
||||
Buffer::Iterator::Next (void)
|
||||
|
||||
+4
-1
@@ -237,10 +237,13 @@ public:
|
||||
void Read (uint8_t *buffer, uint16_t size);
|
||||
private:
|
||||
friend class Buffer;
|
||||
Iterator (Buffer const*buffer, uint32_t m_current);
|
||||
Iterator (Buffer const*buffer);
|
||||
Iterator (Buffer const*buffer, bool);
|
||||
void Construct (const Buffer *buffer);
|
||||
uint32_t GetIndex (uint32_t n);
|
||||
uint32_t m_zeroStart;
|
||||
uint32_t m_zeroEnd;
|
||||
uint32_t m_dataStart;
|
||||
uint32_t m_dataEnd;
|
||||
uint32_t m_current;
|
||||
uint8_t *m_data;
|
||||
|
||||
Reference in new issue
Block a user