Компонента tlv содержит основные классы и определения для сериализации сущностей в двоичный формат TLV (Tag-Length-Value).
Классы | |
class | tag_processor_t |
Интерфейс обработчика поля Tag в двоичном потоке. Подробнее... | |
class | length_processor_t |
Интерфейс обработчика поля Length в двоичном потоке. Подробнее... | |
class | tlv_base_t |
Базовый класс для TLV. Подробнее... | |
class | tlv_extractor_t |
помощи оператора сдвига (>>). Подробнее... | |
class | basic_string_tlv_t |
TLV для сериализации объектов std::basic_string. Подробнее... | |
class | tlv_add_caller_t |
подчиненных TLV в объемлющий TLV. Подробнее... | |
class | compound_tlv_t |
TLV для сериализации составных объектов. Подробнее... | |
class | default_tag_processor_t |
Реализация интерфейса tag_processor_t. Подробнее... | |
class | default_length_processor_t |
Реализация интерфейса length_processor_t. Подробнее... | |
class | scalar_tlv_t |
TLV для сериализации одиночных объектов примитивных типов. Подробнее... | |
class | tagged_scalar_wrapper_t |
с определенным значением Tag. Подробнее... | |
Пространства имен | |
namespace | err |
Коды ошибок компоненты tlv. | |
Определения типов | |
typedef oess_1::uint_t | default_tag_type_t |
Тип, к которому должны приводится все идентификаторы TLV. | |
Функции | |
oess_1::io::ibinstream_t & | operator>> (oess_1::io::ibinstream_t &s, tlv_extractor_t &o) |
Чтение TLV из входного потока. | |
oess_1::io::obinstream_t & | operator<< (oess_1::io::obinstream_t &s, const tlv_base_t &o) |
Вызывает метод tlv_pack у o. | |
oess_1::io::ibinstream_t & | operator>> (oess_1::io::ibinstream_t &s, tag_processor_t &o) |
Вызывает метод tlv_unpack_tag у o. | |
oess_1::io::obinstream_t & | operator<< (oess_1::io::obinstream_t &s, const tag_processor_t &o) |
Вызывает метод tlv_pack_tag у o. |
typedef oess_1::uint_t default_tag_type_t |
Тип, к которому должны приводится все идентификаторы TLV.
В зависимости от конкретной ситуации поле Tag может представляться 8-битовым, 16-битовым, 32-битовым или, например, 24-битовым значением. Может быть, поле Tag может быть представлено какой-либо структурой.
Но для компонента tlv необходимо, чтобы любое значение поля Tag можно было представить в виде уникального значения типа defaul_tag_type_t.
oess_1::io::ibinstream_t& oess_1::tlv::operator>> | ( | oess_1::io::ibinstream_t & | s, | |
tlv_extractor_t & | o | |||
) | [inline] |
Чтение TLV из входного потока.
Должен использоваться уже после того, как из потока будет прочитано поле Tag.
s | Поток, с текущей позиции которого будет осуществляться чтение полей Length и Value. |
o | Описатель объекта для извлечения. |
oess_1::io::obinstream_t& oess_1::tlv::operator<< | ( | oess_1::io::obinstream_t & | s, | |
const tlv_base_t & | o | |||
) | [inline] |
Вызывает метод tlv_pack у o.
s | Поток, с текущей позиции которого будет осуществляться запись TLV. |
o | Объект для записи. |
oess_1::io::ibinstream_t& oess_1::tlv::operator>> | ( | oess_1::io::ibinstream_t & | s, | |
tag_processor_t & | o | |||
) | [inline] |
Вызывает метод tlv_unpack_tag у o.
s | Поток, с текущей позиции которого будет осуществляться чтение поля Tag. |
o | Объект для извлечения. |
oess_1::io::obinstream_t& oess_1::tlv::operator<< | ( | oess_1::io::obinstream_t & | s, | |
const tag_processor_t & | o | |||
) | [inline] |
Вызывает метод tlv_pack_tag у o.
s | Поток, с текущей позиции которого будет осуществляться запись поля Tag. |
o | Объект для записи. |