Шаблон класса basic_string_tlv_t

#include <basic_string.hpp>

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

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

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

template<class Tag_type, class Char = oess_1::char_t, class Tag_processor = default_tag_processor_t< Tag_type >, class Length_processor = default_length_processor_t< Tag_type >>
class oess_1::tlv::basic_string_tlv_t< Tag_type, Char, Tag_processor, Length_processor >

TLV для сериализации объектов std::basic_string.

Поле 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_toperator= (const self_t &o)
 Оператор копирования.
const string_type_tquery_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.


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