Данный файл нужно загружать в CPP-файлах, содержащих (подключающих) сгенерированый код сериализации сущностей. Например:
... // Подключаем файл для поддержки средств сериализации. #include <oess_1/stdsn/h/inout_templ.hpp> ... // Подключаем сгенерированный код сериализации. #include "some_file.ddl.cpp" ...
#include <memory>
#include <oess_1/defs/h/ex.hpp>
#include <oess_1/stdsn/h/ent.hpp>
#include <oess_1/stdsn/h/serializable.hpp>
#include <oess_1/stdsn/h/errno.hpp>
Пространства имен | |
namespace | oess_1 |
namespace | oess_1::stdsn |
Классы | |
class | iobj_t |
Внутренний класс ObjESSty. Подробнее... | |
class | oobj_t |
Внутренний класс ObjESSty. Подробнее... | |
class | iptr_t |
Внутренний класс ObjESSty. Подробнее... | |
class | optr_t |
Внутренний класс ObjESSty. Подробнее... | |
class | iextension_of_t |
Класс для десериализации атрибутов указателей на производные классы-расширения. Подробнее... | |
class | oextension_of_t |
Класс для сериализации атрибутов, которые являются указателями на производные классы-расширения. Подробнее... | |
class | ilist_t |
Внутренний класс ObjESSty. Подробнее... | |
class | olist_t |
Внутренний класс ObjESSty. Подробнее... | |
class | iset_t |
Внутренний класс ObjESSty. Подробнее... | |
class | oset_t |
Внутренний класс ObjESSty. Подробнее... | |
class | imap_t |
Внутренний класс ObjESSty. Подробнее... | |
class | omap_t |
Внутренний класс ObjESSty. Подробнее... | |
class | ifixed_vector_t |
Внутренний класс ObjESSty. Подробнее... | |
class | ofixed_vector_t |
Внутренний класс ObjESSty. Подробнее... | |
Макросы | |
#define | _OESS_1__STDSN__INOUT_TEMPL_HPP_ |
#define | OESS_1_STDSN_SPECIALIZE_IOBJ_IMPL(T) |
#define | OESS_1_STDSN_SPECIALIZE_OOBJ_IMPL(T) |
#define | OESS_1_STDSN_SPECIALIZE_TYPE_IMPL(T) |
Функции | |
template<class Type> | |
oess_1::stdsn::oent_t & | oess_1::stdsn::operator<< (oess_1::stdsn::oent_t &s, const oobj_t< Type > &o) |
template<class Type> | |
oess_1::stdsn::ient_t & | oess_1::stdsn::operator>> (oess_1::stdsn::ient_t &s, iobj_t< Type > &o) |
template<class Type> | |
oess_1::stdsn::oent_t & | oess_1::stdsn::operator<< (oess_1::stdsn::oent_t &s, const optr_t< Type > &o) |
template<class Type> | |
oess_1::stdsn::ient_t & | oess_1::stdsn::operator>> (oess_1::stdsn::ient_t &s, iptr_t< Type > &o) |
void | oess_1::stdsn::operator>> (oess_1::stdsn::ient_t &s, oess_1::stdsn::subclass_extension_path_t &path) |
Извлечение цепочки наследования из сериализованного представления. | |
template<class Type> | |
oess_1::stdsn::ient_t & | oess_1::stdsn::operator>> (oess_1::stdsn::ient_t &s, iextension_of_t< Type > &o) |
void | oess_1::stdsn::operator<< (oess_1::stdsn::oent_t &s, const oess_1::stdsn::subclass_extension_path_t &path) |
Сериализация цепочки наследования. | |
template<class Type> | |
oess_1::stdsn::oent_t & | oess_1::stdsn::operator<< (oess_1::stdsn::oent_t &s, const oextension_of_t< Type > &o) |
#define OESS_1_STDSN_SPECIALIZE_IOBJ_IMPL | ( | T | ) |
Макроопределение:
template<> \ class iobj_t< T > { \ typedef T Type; \ private : \ Type & m_value; \ \ typedef iobj_t< Type > self_type_t; \ \ iobj_t( const self_type_t & ); \ iobj_t & \ operator=( const self_type_t & ); \ \ public : \ iobj_t( Type & o ) : m_value( o ) { \ } \ ~iobj_t() { \ } \ \ void \ unpack( oess_1::stdsn::ient_t & s ) { \ s.query_stream() >> m_value; \ } \ };
#define OESS_1_STDSN_SPECIALIZE_OOBJ_IMPL | ( | T | ) |
Макроопределение:
template<> \ class oobj_t< T > { \ typedef T Type; \ private : \ const Type & m_value; \ \ typedef oobj_t< Type > self_type_t; \ \ oobj_t( const self_type_t & ); \ oobj_t & \ operator=( const self_type_t & ); \ \ public : \ oobj_t( const Type & o ) : m_value( o ) { \ } \ ~oobj_t() { \ } \ \ void \ pack( oess_1::stdsn::oent_t & s ) const { \ s.query_stream() << m_value; \ } \ };
#define OESS_1_STDSN_SPECIALIZE_TYPE_IMPL | ( | T | ) |
Макроопределение:
OESS_1_STDSN_SPECIALIZE_IOBJ_IMPL(T) \ OESS_1_STDSN_SPECIALIZE_OOBJ_IMPL(T)