#include <shptr.hpp>
Граф наследования:shptr_skeleton_t:

some_type_t * p = some_smart_ptr.cast_to(
oess_1::stdsn::shptr_type_tag< some_type_t > );
Открытые члены | |
| shptr_skeleton_t () | |
| Конструктор по умолчанию. | |
| shptr_skeleton_t (T *ptr) | |
| Конструктор при наличии сериализуемого объекта. | |
| shptr_skeleton_t (const self_type_t &o) | |
| Конструктор копирования. | |
| self_type_t & | operator= (const self_type_t &o) |
| Оператор копирования. | |
| void | destroy () |
| Попытаться уничтожить контролируемый объект. | |
Методы базового класса, которые должны остаться виртуальными. | |
| virtual void | oess_pack (oess_1::stdsn::oent_t &writter) const =0 |
| Запись объекта в выходной поток. | |
| virtual void | oess_unpack (oess_1::stdsn::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. | |
| template<class Y> | |
| Y * | cast_to (const shptr_type_tag< Y > &) |
| Приведение указателя на сериализуемый объект. | |
| template<class Y> | |
| const Y * | cast_to (const shptr_type_tag< Y > &) const |
| Приведение указателя на сериализуемый объект. | |
Для совместимости с предыдущими версиями. | |
| void * | cast_to (const std::string &type_name) |
| Приведение указателя на сериализуемый объект. | |
| const void * | cast_to (const std::string &type_name) const |
| Приведение указателя на сериализуемый объект. | |
Защищенные члены | |
| virtual void | oess_pre_unpack () |
| virtual void | oess_post_unpack () |
Доступ к политике владения. | |
| Own_policy & | own_policy () |
| const Own_policy & | own_policy () const |
Защищенные данные | |
| T * | m_ptr |
| Указатель, которым мы должны владеть. | |
Закрытые типы | |
|
typedef shptr_skeleton_t< T, Own_policy > | self_type_t |
Закрытые данные | |
| Own_policy | m_own_policy |
| Политика владения указателем. | |
| shptr_skeleton_t | ( | ) | [inline] |
Конструктор по умолчанию.
Указывает, что нет сериализуемого объекта.
| shptr_skeleton_t | ( | T * | ptr | ) | [inline] |
Конструктор при наличии сериализуемого объекта.
| ptr | Указатель на динамически созданный объект, который будет уничтожен в после уничтожения всех умных указателей на него. |
| const void* cast_to | ( | const std::string & | type_name | ) | const [inline] |
Приведение указателя на сериализуемый объект.
Для приведения используется метод serializable_t::oess_cast() сериализуемого объекта.
| void* cast_to | ( | const std::string & | type_name | ) | [inline] |
Приведение указателя на сериализуемый объект.
Для приведения используется метод serializable_t::oess_cast() сериализуемого объекта.
| const Y* cast_to | ( | const shptr_type_tag< Y > & | ) | const [inline] |
Приведение указателя на сериализуемый объект.
Для приведения используется метод serializable_t::oess_cast() сериализуемого объекта.
| oess_1::ex_t | если приведение не возможно. |
| Y* cast_to | ( | const shptr_type_tag< Y > & | ) | [inline] |
Приведение указателя на сериализуемый объект.
Для приведения используется метод serializable_t::oess_cast() сериализуемого объекта.
| oess_1::ex_t | если приведение не возможно. |
| void destroy | ( | ) | [inline] |
Попытаться уничтожить контролируемый объект.
Уменьшается количество ссылок на контролируемый объект. Если количество ссылок уменьшилось до нуля, то контролируемый объект уничтожается.
В любом случает считается, что экземпляр shptr_skeleton_t больше не контролирует сериализуемый объект.
| virtual void* oess_cast | ( | const std::string & | type_name | ) | [pure virtual] |
Преобразование к указаному типу.
Если преобразование не возможно возвращается 0.
Замещает serializable_t.
| 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 или если указан не верный тип-терминатор. |
Замещает serializable_t.
| virtual void oess_post_unpack | ( | ) | [inline, protected, virtual] |
Создает новый счетчик ссылок для нового контролируемого объекта.
Переопределяет метод предка serializable_t.
| virtual void oess_pre_unpack | ( | ) | [inline, protected, virtual] |
Вызывает метод destroy(), т.к. контролируемый объект для данного экземпляра shptr_skeleton_t будет заменен.
Переопределяет метод предка serializable_t.
| virtual const std::string& oess_scheme | ( | ) | const [pure virtual] |
1.4.7