#include <serializable.hpp>
Граф наследования:serializable_t:
Поддержка неизвестных расширений. | |
void | oess_store_unknown_subclass_extension_path (const subclass_extension_path_t &path) |
Сохранить в объекте цепочку наследования, извлеченную при десериализации. | |
const subclass_extension_path_t * | oess_unknown_subclass_extension_path () const |
Получить доступ к извлеченной при десериализации цепочки наследования. | |
void | oess_drop_unknown_extensions () |
Сбросить все неизвестные расширения. | |
const unknown_extension_t & | oess_unknown_subclass_extension () const |
Получить доступ к неизвестному расширению в механизме subclassing_by_extension. | |
unknown_extension_t & | oess_writeable_unknown_subclass_extension () |
Получить доступ к неизвестному расширению в механизме subclassing_by_extension. | |
const unknown_extension_t & | oess_lo_unknown_extension (const std::string &type_name) const |
Получить доступ к неизвестному расширению типа. | |
unknown_extension_t & | oess_lo_writeable_unknown_extension (const std::string &type_name) |
Получить доступ к неизвестному расширению типа для изменения расширения. | |
auto_ptr_3::obj_ptr_t< subclass_extension_path_t > | m_oess_unknown_subclass_extension_path |
Значение цепочки наследования, извлеченной при десериализации в механизме subclassing_by_extension. | |
unknown_extension_t | m_oess_unknown_subclass_extension |
Значение неизвестного расширения в механизме subclassing_by_extension. | |
all_unknown_extensions_t | m_oess_unknown_extensions |
Значение всех неизвестных расширений типов в иерархии наследования. | |
Открытые члены | |
serializable_t () | |
Конструктор по-умолчанию. | |
serializable_t (const serializable_t &o) | |
Конструктор копирования. | |
serializable_t & | operator= (const serializable_t &o) |
Оператор копирования. | |
virtual void | oess_pack (oent_t &writter) const =0 |
Запись объекта в выходной поток. | |
virtual void | oess_unpack (ient_t &reader)=0 |
Чтение объекта из входного потока. | |
virtual void * | oess_cast (const std::string &type_name)=0 |
Преобразование к указаному типу. | |
virtual const std::string & | oess_type_name () const =0 |
Имя типа, к которому реально принадлежит объект. | |
virtual const std::string & | oess_scheme () const =0 |
DDL-описание типа. | |
virtual void | oess_get_subclass_extension_path (oess_1::stdsn::subclass_extension_path_t &path, const std::string &terminator) const =0 |
Заполнить цепочку наследования для механизма subclassing_by_extension. | |
Открытые статические члены | |
static std::string & | oess_serializable_t_name () |
Имя типа serializable_t. | |
Защищенные члены | |
virtual void | oess_pre_pack () const |
началом сериализации объекта. | |
virtual void | oess_post_pack () const |
сериализации объекта. | |
virtual void | oess_pre_unpack () |
перед выполнением десериализации объекта. | |
virtual void | oess_post_unpack () |
после выполнения десериализации объекта. | |
Друзья | |
class | oess_serializer_t |
Классы | |
class | oess_serializer_t |
Вспомогательный класс для сериализации.
Содержит не все методы, определяемые в макросе OESS_SERIALIZER(), т.к. класс serializable_t является абстрактным не некоторые методы (pack, unpack, cast,...) просто не имеют смысла. Подробнее... |
serializable_t | ( | ) |
Конструктор по-умолчанию.
serializable_t | ( | const serializable_t & | o | ) |
Конструктор копирования.
virtual void* oess_cast | ( | const std::string & | type_name | ) | [pure virtual] |
Преобразование к указаному типу.
Если преобразование не возможно возвращается 0.
Замещается в shptr_skeleton_t и shptr_skeleton_t< oess_1::stdsn::serializable_t >.
void oess_drop_unknown_extensions | ( | ) |
Сбросить все неизвестные расширения.
См. oess_1.2.0. Расширяемые типы, oess_1.2.0. Наследование расширением (subclassing_by_extension), oess_1.2.0. Неизвестные расширения.
virtual void oess_get_subclass_extension_path | ( | oess_1::stdsn::subclass_extension_path_t & | path, | |
const std::string & | terminator | |||
) | const [pure virtual] |
Заполнить цепочку наследования для механизма subclassing_by_extension.
oess_1::ex_t,если | тип не участвует в механизме subclassing_by_extension или если указан не верный тип-терминатор. |
Замещается в shptr_skeleton_t и shptr_skeleton_t< oess_1::stdsn::serializable_t >.
const unknown_extension_t & oess_lo_unknown_extension | ( | const std::string & | type_name | ) | const [protected] |
Получить доступ к неизвестному расширению типа.
unknown_extension_t & oess_lo_writeable_unknown_extension | ( | const std::string & | type_name | ) | [protected] |
Получить доступ к неизвестному расширению типа для изменения расширения.
void oess_post_pack | ( | ) | const [protected, virtual] |
сериализации объекта.
Предназначен для выполнения произвольных действий после сериализации объекта.
void oess_post_unpack | ( | ) | [protected, virtual] |
после выполнения десериализации объекта.
Предназначен для выполнения произвольных действий после десериализации объекта.
Переопределяется в shptr_skeleton_t и shptr_skeleton_t< oess_1::stdsn::serializable_t >.
void oess_pre_pack | ( | ) | const [protected, virtual] |
началом сериализации объекта.
Предназначен для выполнения произвольных действий перед сериализацией объекта.
void oess_pre_unpack | ( | ) | [protected, virtual] |
перед выполнением десериализации объекта.
Предназначен для выполнения произвольных действий перед десериализацией объекта.
После десериализации объект будет содержать новое значение. Данный метод позволяет осуществить очистку ресурсов, связанных с предыдущим значением объекта.
Переопределяется в shptr_skeleton_t и shptr_skeleton_t< oess_1::stdsn::serializable_t >.
virtual const std::string& oess_scheme | ( | ) | const [pure virtual] |
DDL-описание типа.
Замещается в shptr_skeleton_t и shptr_skeleton_t< oess_1::stdsn::serializable_t >.
std::string & oess_serializable_t_name | ( | ) | [static] |
void oess_store_unknown_subclass_extension_path | ( | const subclass_extension_path_t & | path | ) |
Сохранить в объекте цепочку наследования, извлеченную при десериализации.
Сохраненный объект цепочка будет сохраняться до тех пор, пока не будет вызван метод oess_drop_unknown_extensions().
См. oess_1.2.0. Наследование расширением (subclassing_by_extension), oess_1.2.0. Неизвестные расширения.
const unknown_extension_t & oess_unknown_subclass_extension | ( | ) | const [protected] |
Получить доступ к неизвестному расширению в механизме subclassing_by_extension.
const subclass_extension_path_t * oess_unknown_subclass_extension_path | ( | ) | const |
Получить доступ к извлеченной при десериализации цепочки наследования.
unknown_extension_t & oess_writeable_unknown_subclass_extension | ( | ) | [protected] |
Получить доступ к неизвестному расширению в механизме subclassing_by_extension.
serializable_t & operator= | ( | const serializable_t & | o | ) |
Оператор копирования.
Значение всех неизвестных расширений типов в иерархии наследования.
Значение неизвестного расширения в механизме subclassing_by_extension.
auto_ptr_3::obj_ptr_t< subclass_extension_path_t > m_oess_unknown_subclass_extension_path [private] |
Значение цепочки наследования, извлеченной при десериализации в механизме subclassing_by_extension.