Класс slice_image_base_t

#include <slice_image_base.hpp>

Граф наследования:slice_image_base_t:

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

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

Базовый класс образа загруженного в ОП содержимого раздела БД.

Начиная с:
v.1.0.9
Класс не предназначен для непосредственного использования. Предполагается, что настройку на конкретные типы хранимых в разделе объектов будут осуществлять производные классы. Поэтому основные методы, которые требуют работы с конкретными типами объектов реализованы в protected-части класса.


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

 auto_load = 0x1
 загружено в ОП.
 auto_destroy_index = 0x2
 уничтожен в деструкторе.
enum  { auto_load = 0x1, auto_destroy_index = 0x2 }
 операции над образом раздела. Подробнее...

Открытые члены

virtual void attach (slice_index_base_t &index, unsigned int flags)
virtual void detach (slice_index_base_t &index)
oess_1::db::cln::db_tquery_db () const
 База, с которой осуществляется работа.
const std::string & slice_name () const
 Раздел, с которым осуществляется работа.

Защищенные члены

 slice_image_base_t (oess_1::db::cln::db_t &db, const std::string &slice_name, unsigned int flags) throw ( std::exception )
void lo_clear ()
ent_id_t lo_insert (const oess_1::stdsn::serializable_t &o) throw ( std::exception )
void lo_erase (const oess_1::ent_id_t &id) throw ( std::exception )
void lo_update (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o) throw ( std::exception )
void lo_refresh_indexes (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o)

Закрытые члены

Защита от копирования.
 slice_image_base_t (const slice_image_base_t &o)
slice_image_base_toperator= (const slice_image_base_t &o)

Закрытые данные

auto_ptr_3::obj_ptr_t< impl::slice_image_base_data_tm_data
 Реальные данные образа раздела.


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

anonymous enum

операции над образом раздела.

Элементы перечислений:
auto_load  загружено в ОП.
auto_destroy_index  уничтожен в деструкторе.


Конструктор(ы)

slice_image_base_t ( oess_1::db::cln::db_t db,
const std::string &  slice_name,
unsigned int  flags 
) throw ( std::exception ) [protected]

Содержимое раздела не загружается даже, если установлен флаг auto_load (из-за того, что в базовом классе нет реализации метода make_real_obj().

Раздел автоматически создается в БД.

Аргументы:
flags  Битовые флаги, определяющие, что нужно делать с содержимым раздела.


Методы

void attach ( slice_index_base_t index,
unsigned int  flags 
) [virtual]

Добавить активный индекс.

Значения объектов раздела в индекс не добавляются. Это задача производных классов.

Аргументы:
flags  Битовые флаги, определяющие, что нужно делать с индексом. Если установлен флаг auto_destroy_index, то индекс автоматически уничтожается в деструкторе.

Переопределяется в slice_image_t.

void detach ( slice_index_base_t index  )  [virtual]

Изъять активный индекс. Изъятый индекс не уничтожается даже если при его добавлении был указан флаг auto_destroy_index.

void lo_clear (  )  [protected]

Выгружает содержимое раздела.

Все активные индексы так же очищаются, но остаются привязанными к образу раздела.

void lo_erase ( const oess_1::ent_id_t id  )  throw ( std::exception ) [protected]

Изымает объект из раздела и, автоматически, из всех активных индексов.

ent_id_t lo_insert ( const oess_1::stdsn::serializable_t o  )  throw ( std::exception ) [protected]

Добавляет объект в раздел и, автоматически, во все активные индексы.

void lo_refresh_indexes ( const oess_1::ent_id_t id,
const oess_1::stdsn::serializable_t o 
) [protected]

Добавляет объект во все активные индексы при помощи метода slice_index_base_t::on_insert.

void lo_update ( const oess_1::ent_id_t id,
const oess_1::stdsn::serializable_t o 
) throw ( std::exception ) [protected]

Обновляет содержимое объекта в ОП, в разделе и во всех активных индексах.


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