Класс tag_processor_t

#include <base.hpp>

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

default_tag_processor_t Полный список членов класса

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

Интерфейс обработчика поля Tag в двоичном потоке.

Отвечает за чтение и запись поля Tag.

В некоторых случаях Tag может требовать нескольких значений в потоке. Например, на поле Tag отводится один байт, если Tag находится в диапазоне от 0 до 127. Два байта, если Tag находится в диапазоне от 128 до 382. Тогда первый байт (b0) содержит 0x80, a второй (b1) дополнительное значение. Результирующее значение Tag получается сложением b0 и b1.

Для того чтобы TLV-классы не зависели от способа представления Tag, каждый из TLV-классов будет связываться с конкретной реализацией tag_processor_t.


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

virtual size_t tlv_tag_size () const =0
 для представления поля Tag.
virtual void tlv_unpack_tag (oess_1::io::ibinstream_t &s)=0
 Прочитать Tag из входного потока.
virtual void tlv_pack_tag (oess_1::io::obinstream_t &s) const =0
 Записать Tag в выходной поток.
virtual default_tag_type_t query_tag () const =0
 Получить текущее значение Tag.
virtual void set_tag (const default_tag_type_t &value)=0
 Установить текущее значение Tag.


Методы

virtual void tlv_pack_tag ( oess_1::io::obinstream_t s  )  const [pure virtual]

Записать Tag в выходной поток.

Аргументы:
s  Поток, с текущей позиции которого будет осуществляться запись поля Tag.

Замещается в default_tag_processor_t.

virtual void tlv_unpack_tag ( oess_1::io::ibinstream_t s  )  [pure virtual]

Прочитать Tag из входного потока.

Аргументы:
s  Поток, с текущей позиции которого будет осуществляться чтение поля Tag.

Замещается в default_tag_processor_t.


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