Класс ifixed_mem_buf_t

#include <fixed_mem_buf.hpp>

Граф наследования:ifixed_mem_buf_t:

ibinbuffer_t ibinstream_t istream_t Полный список членов класса

Подробное описание

Двоичный поток чтения из фиксированого блока памяти.

Реализация интерфейса obinstream_t для буфера памяти фиксированного размера.

Объект этого класса использует существующий буфер, указатель на который получает в конструкторе.

Объект ifixed_mem_buf_t не уничтожает буфер в своем деструкторе.

Считается, что весь буфер заполнен реальными данными. Можно изменять только текущую позицию в буфере.

Заметки:
v.1.1.1 Сделан производным от oess_1::io::ibinbuffer_t.


Открытые члены

 ifixed_mem_buf_t (const oess_1::char_t *buf, size_t capacity)
size_t capacity () const
 Емкость буфера.
virtual size_t size () const
 Объем данных в буфере.
virtual size_t pos () const
 очередная операция чтения.
void set_pos (size_t pos)
 очередная операци чтения.
virtual bool eof () const
 Возвращает true, если pos() == capacity().
const oess_1::char_tptr () const
 Указатель на начало всего буфера.
const oess_1::char_tcurrent_ptr () const
 Указатель на текущую позицию в буфере.

Защищенные члены

virtual const oess_1::char_tin_reserve (size_t item_count, size_t item_size, size_t &item_available)
 Реализация метода из базового класса.
virtual void in_shift (size_t item_count, size_t item_size)
 Реализация метода из базового класса.

Закрытые члены

 ifixed_mem_buf_t (const ifixed_mem_buf_t &)
 Защита от копирования.
ifixed_mem_buf_toperator= (const ifixed_mem_buf_t &)
 Защита от копирования.

Закрытые данные

const oess_1::char_tm_buf
 Буфер, из которого происходит чтение данных.
size_t m_capacity
 Емкость буфера.
size_t m_pos
 Текущая позиция в буфере.


Конструктор(ы)

ifixed_mem_buf_t ( const oess_1::char_t buf,
size_t  capacity 
)

Аргументы:
buf  Буфер, из которого осуществляется чтение данных. Буфер должен существовать все время, пока существует объект ifixed_mem_buf_t.
capacity  Емкость буфера в байтах.


Методы

size_t capacity (  )  const

Емкость буфера.

Возвращает:
значение емкости, полученное в конструкторе.
Уст.:
Должен использоваться метод oess_1::io::ifixed_mem_buf_t::size().

const oess_1::char_t * in_reserve ( size_t  item_count,
size_t  item_size,
size_t &  item_available 
) [protected, virtual]

Реализация метода из базового класса.

Если нет достаточного объема данных для чтения хотя бы одного элемента, то порождается исключение.

Аргументы:
item_count  Количество элементов, которые нужно прочитать.
item_size  Размер одного элемента в байтах.
item_available  Количество элементов, доступных по возвращенному указателю.

Замещает ibinbuffer_t.

void in_shift ( size_t  item_count,
size_t  item_size 
) [protected, virtual]

Реализация метода из базового класса.

Аргументы:
item_count  Количество успешно прочитанных элементов.
item_size  Размер одного элемента в байтах.

Замещает ibinbuffer_t.

void set_pos ( size_t  pos  ) 

очередная операци чтения.

Операция выполняется только, если pos меньше, чем capacity().

size_t size (  )  const [virtual]

Объем данных в буфере.

Начиная с:
v.1.1.1
Возвращает:
значение емкости, полученное в конструкторе.

Замещает ibinbuffer_t.


Данные класса

size_t m_capacity [private]

Емкость буфера.

Задается в конструкторе.


Объявления и описания членов классов находятся в файлах:
Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:39 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz