Класс common_header_t

#include <headers.hpp>

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


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

Тип общего заголовка всего файла.

Начиная с:
v.1.4.0
Для объекта поддерживается понятие "модифицированности". Объект считается модифицированным, если для него были вызваны методы: init_new(), remove_free_area(), return_free_area(). Сделано это для того, чтобы просле проведения операций над заголовком можно было определить, следует ли записывать новое значение заголовка в файл.


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

 common_header_t (const page_index_calculator_t &calculator)
 Инициализирующий конструктор.
area_ordinal_t get_free_area () const
 свободные блоки.
void remove_free_area (const area_ordinal_t &area)
 есть свободные блоки.
void return_free_area (const area_ordinal_t &area)
 имеют свободные блоки.
void init_new ()
 Проинициализировать заголовок для нового файла хранилища.
oess_1::io::ibinstream_tread_from (oess_1::io::ibinstream_t &from)
 Прочитать значение заголовка из указанного потока.
oess_1::io::obinstream_twrite_to (oess_1::io::obinstream_t &to) const
 Записать значение заголовка в указанный поток.
bool is_changed () const
 Был ли объект модифицирован?
void force_not_changed ()
 Сбросить флаг модифицированности объекта.
bool has_free_areas () const
 Есть ли еще свободные области?

Закрытые типы

typedef std::set< area_ordinal_tarea_ordinal_set_t
 Тип множества номеров областей со свободными блоками.

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

page_index_calculator_t m_calculator
 Параметры хранилища.
area_ordinal_set_t m_free_areas
 Множество номеров областей во свободными блоками.
bool m_is_changed
 true, если объект был модифицирован.
area_ordinal_t m_first_free_area
 Идентификатор первой области, в которой есть свободные блоки.


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

common_header_t ( const page_index_calculator_t calculator  ) 

Инициализирующий конструктор.

Аргументы:
calculator  Параметры хранилища.


Методы

area_ordinal_t get_free_area (  )  const

свободные блоки.

Исключения:
oess_1::logic_ex_t,если больше нет областей со свободными блоками.

bool has_free_areas (  )  const

Есть ли еще свободные области?

Возвращает:
true, если есть.

void init_new (  ) 

Проинициализировать заголовок для нового файла хранилища.

Устанавливатся признак модификации объекта.

oess_1::io::ibinstream_t & read_from ( oess_1::io::ibinstream_t from  ) 

Прочитать значение заголовка из указанного потока.

Признак модификации объекта сбрасывается.

void remove_free_area ( const area_ordinal_t area  ) 

есть свободные блоки.

Устанавливатся признак модификации объекта.

void return_free_area ( const area_ordinal_t area  ) 

имеют свободные блоки.

Устанавливатся признак модификации объекта.

oess_1::io::obinstream_t & write_to ( oess_1::io::obinstream_t to  )  const

Записать значение заголовка в указанный поток.

Признак модификации объекта не изменяется.


Данные класса

area_ordinal_t m_first_free_area [private]

Идентификатор первой области, в которой есть свободные блоки.

Значение определено только, если есть свободные области в m_free_area.

Заметки:
Для оптимизации метода get_free_area.


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