#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] |
Емкость буфера.
Задается в конструкторе.
1.4.7