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

#include <scalar.hpp>

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

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

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

template<class Tag_type, class Scalar, class Tag_processor = default_tag_processor_t< Tag_type >, class Length_processor = default_length_processor_t< Tag_type >>
class oess_1::tlv::scalar_tlv_t< Tag_type, Scalar, Tag_processor, Length_processor >

TLV для сериализации одиночных объектов примитивных типов.

Предназначен для сохранения только тех типов, для которых определено действие oess_1::io::bin_data_size_t.


Открытые типы

typedef Scalar value_type_t
 Псевдоним для параметра Scalar.
typedef scalar_tlv_t< Tag_type,
Scalar, Tag_processor, Length_processor > 
self_t
 Tag_processor, Length_processor >.

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

 scalar_tlv_t (Tag_type id)
 Присваивает пустое значение полю Value.
 scalar_tlv_t (Tag_type id, const Scalar &value)
 Назначение значения полю Value.
 scalar_tlv_t (const self_t &o)
 Конструктор копирования.
self_toperator= (const self_t &o)
 Оператор копирования.
const Scalar & query_value () const
 Получить текущее значение поля Value.
void set_value (const Scalar &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.
Scalar m_value
 Значение поля Value.


Методы

void set_value ( const Scalar &  value  )  [inline]

Установить значение поля Value.

Аргументы:
value  Новое значение для поля Value.

virtual void tlv_pack ( oess_1::io::obinstream_t s  )  const [inline, virtual]

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

Записываются все поля (Tag, Length, Value).

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

Замещает tlv_base_t.

virtual void tlv_unpack ( oess_1::io::ibinstream_t s,
default_tag_type_t   
) [inline, virtual]

Извлечение полей Length и Value из входного потока.

Поле Length не может содержать нулевого значения.

Исключения:
oess_1::physic_ex_t,если поле Length содержит нулевое значение.
std::exception При возникновении других ошибок.
Аргументы:
s  Поток, с текущей позиции которого будет осуществляться чтение полей Length и Value.

Замещает tlv_base_t.


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