#include <basic_string.hpp>
Граф наследования:basic_string_tlv_t:
Поле Length содержит длину строки, умноженную на размер двоичного представления одного символа (т.е. для oess_1::char_t длину строки).
Для пустой строки сохраняются в выходном потоке только поле Tag и нулевое поле Length.
Открытые типы | |
typedef std::basic_string< Char > | string_type_t |
Синоним для std::basic_string< Char >. | |
typedef string_type_t | value_type_t |
Синоним для string_type_t. | |
typedef basic_string_tlv_t< Tag_type, Char, Tag_processor, Length_processor > | self_t |
Tag_processor, Length_processor >. | |
Открытые члены | |
basic_string_tlv_t (Tag_type id) | |
Присваивает пустое значение полю Value. | |
basic_string_tlv_t (Tag_type id, const string_type_t &value) | |
Назначение значения полю Value. | |
basic_string_tlv_t (const self_t &o) | |
Конструктор копирования. | |
self_t & | operator= (const self_t &o) |
Оператор копирования. | |
const string_type_t & | query_value () const |
Получить текущее значение поля Value. | |
void | set_value (const string_type_t &value) |
Установить значение поля Value. | |
virtual default_tag_type_t | tlv_tag () const |
Получить значение поля Tag. | |
virtual size_t | tlv_size () const |
Value). | |
virtual void | tlv_unpack (oess_1::io::ibinstream_t &s, default_tag_type_t) |
Извлечение полей Length и Value из входного потока. | |
virtual void | tlv_pack (oess_1::io::obinstream_t &s) const |
Запись TLV в выходной поток. | |
Закрытые данные | |
Tag_processor | m_tag |
Значение поля Tag. | |
Length_processor | m_length |
Обработчик поля Length. | |
string_type_t | m_value |
Значение поля Value. |
void set_value | ( | const string_type_t & | value | ) | [inline] |
Установить значение поля Value.
value | Новое значение для поля Value. |
virtual void tlv_pack | ( | oess_1::io::obinstream_t & | s | ) | const [inline, virtual] |
Запись TLV в выходной поток.
Записываются все поля (Tag, Length, Value). Если длина Value равна 0, то записывается только Tag и нулевое значение поля Length.
s | Поток, с текущей позиции которого будет осуществляться запись TLV. |
Замещает tlv_base_t.
virtual void tlv_unpack | ( | oess_1::io::ibinstream_t & | s, | |
default_tag_type_t | ||||
) | [inline, virtual] |
Извлечение полей Length и Value из входного потока.
Если поле Length содержит ноль, то из потока ничего не считывается, а полю Value сразу присваивается пустое значение.
s | Поток, с текущей позиции которого будет осуществляться чтение полей Length и Value. |
Замещает tlv_base_t.