#include <fixed_mem_buf.hpp>
Граф наследования:ofixed_mem_buf_t:
Реализация интерфейса obinstream_t для буфера памяти фиксированного размера.
Объект этого класса использует существующий буфер, указатель на который получает в конструкторе.
Объект ofixed_mem_buf_t не уничтожает буфер в своем деструкторе.
Подсчитывается объем занесенных в буфер данных, возвращаемый методом size().
Открытые члены | |
ofixed_mem_buf_t (oess_1::char_t *buf, size_t capacity, size_t initial_size=0) | |
virtual size_t | capacity () const |
Емкость буфера. | |
virtual size_t | size () const |
Текущий объем помещенных в буфер данных. | |
virtual size_t | pos () const |
очередная операция записи. | |
void | set_pos (size_t pos) |
очередная операци записи. | |
const oess_1::char_t * | ptr () const |
Указатель на начало всего буфера. | |
const oess_1::char_t * | current_ptr () const |
Указатель на текущую позицию в буфере. | |
Защищенные члены | |
virtual oess_1::char_t * | out_reserve (size_t item_count, size_t item_size, size_t &item_available) |
Реализация метода из базового класса. | |
virtual void | out_shift (size_t item_count, size_t item_size) |
Реализация метода из базового класса. | |
Закрытые члены | |
ofixed_mem_buf_t (const ofixed_mem_buf_t &) | |
Защита от копирования. | |
ofixed_mem_buf_t & | operator= (const ofixed_mem_buf_t &) |
Защита от копирования. | |
Закрытые данные | |
oess_1::char_t * | m_buf |
Буфер, в который происходит запись данных. | |
size_t | m_capacity |
Емкость буфера. | |
size_t | m_size |
Текущий объем данных, помещенных в буфер. | |
size_t | m_pos |
Текущая позиция в буфере. |
ofixed_mem_buf_t | ( | oess_1::char_t * | buf, | |
size_t | capacity, | |||
size_t | initial_size = 0 | |||
) |
buf | Буфер, в который осуществляется запись данных. Буфер должен существовать все время, пока существует объект оfixed_mem_buf_t. |
capacity | Емкость буфера в байтах. |
initial_size | Сколько байт в буфере нужно считать занятыми. |
size_t capacity | ( | ) | const [virtual] |
oess_1::char_t * out_reserve | ( | size_t | item_count, | |
size_t | item_size, | |||
size_t & | item_available | |||
) | [protected, virtual] |
Реализация метода из базового класса.
item_count | Количество элементов, которые нужно записать. |
item_size | Размер одного элемента в байтах. |
item_available | Количество элементов, доступных для записи по возвращенному указателю. |
Замещает obinbuffer_t.
void out_shift | ( | size_t | item_count, | |
size_t | item_size | |||
) | [protected, virtual] |
Реализация метода из базового класса.
item_count | Количество успешно записанных элементов. |
item_size | Размер одного элемента в байтах. |
Замещает obinbuffer_t.
void set_pos | ( | size_t | pos | ) |
очередная операци записи.
Операция выполняется только, если pos меньше, чем size().
size_t size | ( | ) | const [virtual] |
size_t m_capacity [private] |
Емкость буфера.
Задается в конструкторе.