#include <base.hpp>
Граф наследования:tlv_base_t:
Открытые члены | |
virtual default_tag_type_t | tlv_tag () const =0 |
Определить значение поля Tag для TLV. | |
virtual size_t | tlv_size () const =0 |
Value). | |
virtual void | tlv_unpack (oess_1::io::ibinstream_t &s, default_tag_type_t tag_id)=0 |
Прочитать поля Length и Value из входного потока. | |
virtual void | tlv_pack (oess_1::io::obinstream_t &s) const =0 |
Записать TLV в выходной поток. |
virtual void tlv_pack | ( | oess_1::io::obinstream_t & | s | ) | const [pure virtual] |
Записать TLV в выходной поток.
Записываются все поля (Tag, Length, Value).
s | Поток, с текущей позиции которого будет осуществляться запись TLV. |
Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.
virtual size_t tlv_size | ( | ) | const [pure virtual] |
Value).
Данный метод необходим для эффективной реализации записи и чтения TLV в потоки, которые не позволяют осуществлять позиционирование на произвольную позицию.
Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.
virtual default_tag_type_t tlv_tag | ( | ) | const [pure virtual] |
Определить значение поля Tag для TLV.
Вполне могут быть объекты TLV, которые имеют несколько значений для поля Tag. Например, объекты, имеющие несколько представлений в виде TLV. В этом случае данный метод должен либо возвращать корректное значение Tag ("предпочтительное" значение Tag из всех доступных значений), либо должен порождать исключение.
std::exception | В случае ошибок. |
Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.
virtual void tlv_unpack | ( | oess_1::io::ibinstream_t & | s, | |
default_tag_type_t | tag_id | |||
) | [pure virtual] |
Прочитать поля Length и Value из входного потока.
Данный метод вызывается уже после того, как из входного потока будет прочитано поле Tag.
s | Поток, с текущей позиции которого будет осуществляться чтение полей Length и Value. |
tag_id | Значение поля Tag, которое было извлечено из входного потока перед тем, как был вызван метод tlv_unpack. |
Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.