Класс obj_factory_t

#include <serializable.hpp>

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


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

Внутренний класс ObjESSty.

Глобальная фабрика объектов.


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

 throw_exception
 Необходимо породить исключение.
 no_throw_exception
 возвратить нулевой указатель.
enum  no_factory_action_t { throw_exception, no_throw_exception }
 Действие, которое нужно выполнить, если фабрика для объекта не найдена. Подробнее...

Открытые статические члены

static void reg (const std::string &type_name, pfn_factory_t factory)
static void dereg (const std::string &type_name, pfn_factory_t factory)
static serializable_tcreate (const std::string &type_to_create, const std::string &type_to_cast, const no_factory_action_t &no_factory_action=throw_exception)
 Создать объект по имени типа.


Перечисления

enum no_factory_action_t

Действие, которое нужно выполнить, если фабрика для объекта не найдена.

Начиная с:
v.1.2.0
Элементы перечислений:
throw_exception  Необходимо породить исключение.
no_throw_exception  возвратить нулевой указатель.


Методы

serializable_t * create ( const std::string &  type_to_create,
const std::string &  type_to_cast,
const no_factory_action_t no_factory_action = throw_exception 
) [static]

Создать объект по имени типа.

Если создать объект не удается, то порождается исключение. Проверяется возможность приведения созданного объекта к указателю на указанный тип. Если приведение типа не возможно, то порождается исключение.

v.1.2.0
Если фабрика для объекта не найдена и no_factory_action == no_throw_exception, то вместо порождения исключения возвращается нулевой указатель.
Аргументы:
type_to_create  Имя типа, который нужно создать.
type_to_cast  Имя типа, к которому нужно привести указатель на созданный объект.
no_factory_action  Что нужно делать, если фабрика не найдена.


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