co-maps/libs/drape/buffer_base.cpp
2025-11-22 13:58:55 +01:00

57 lines
991 B
C++

#include "drape/buffer_base.hpp"
#include "base/assert.hpp"
namespace dp
{
BufferBase::BufferBase(uint8_t elementSize, uint32_t capacity)
: m_elementSize(elementSize)
, m_capacity(capacity)
, m_size(0)
{}
uint32_t BufferBase::GetCapacity() const
{
return m_capacity;
}
uint32_t BufferBase::GetCurrentSize() const
{
return m_size;
}
uint32_t BufferBase::GetAvailableSize() const
{
return m_capacity - m_size;
}
void BufferBase::Resize(uint32_t elementCount)
{
m_capacity = elementCount;
m_size = 0;
}
uint8_t BufferBase::GetElementSize() const
{
return m_elementSize;
}
void BufferBase::Seek(uint32_t elementNumber)
{
ASSERT(elementNumber <= m_capacity, ());
m_size = elementNumber;
}
void BufferBase::UploadData(uint32_t elementCount)
{
ASSERT(m_size + elementCount <= m_capacity, ());
m_size += elementCount;
}
void BufferBase::SetDataSize(uint32_t elementCount)
{
ASSERT(elementCount <= m_capacity, ());
m_size = elementCount;
}
} // namespace dp