Компонента 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 | Объект для записи. |
1.4.7