#include <headers.hpp>
Открытые члены | |
area_header_t (const page_index_calculator_t &calculator, const area_ordinal_t &ordinal) | |
Инициализирующий конструктор. | |
const area_ordinal_t & | area_ordinal () const |
Порядковый номер этой области. | |
segment_ordinal_t | get_free_segment () const |
свободные блоки. | |
void | remove_free_segment (const segment_ordinal_t &segment) |
есть свободные блоки. | |
void | return_free_segment (const segment_ordinal_t &segment) |
имеют свободные блоки. | |
void | init_new () |
Проинициализировать заголовок для нового файла хранилища. | |
oess_1::io::ibinstream_t & | read_from (oess_1::io::ibinstream_t &from, io_buffer_t &io_buffer) |
Прочитать значение заголовка из указанного потока. | |
oess_1::io::obinstream_t & | write_to (oess_1::io::obinstream_t &to, io_buffer_t &io_buffer) const |
Записать значение заголовка в указанный поток. | |
bool | is_changed () const |
Был ли объект модифицирован? | |
void | force_not_changed () |
Сбросить флаг модифицированности объекта. | |
bool | has_free_segments () const |
Есть ли еще свободные сегменты? | |
Закрытые типы | |
typedef std::set< segment_ordinal_t > | segment_ordinal_set_t |
Тип множества номеров сегментов со свободными блоками. | |
Закрытые данные | |
page_index_calculator_t | m_calculator |
Параметры хранилища. | |
area_ordinal_t | m_area_ordinal |
Порядковый номер этой области. | |
segment_ordinal_set_t | m_free_segments |
Множество номеров сегментов во свободными блоками. | |
bool | m_is_changed |
true, если объект был модифицирован. | |
segment_ordinal_t | m_first_free_segment |
Идентификатор первого сегмента, в котором есть свободные блоки. | |
Классы | |
class | io_buffer_t |
Вспомогательный буфер для выполнения операций ввода-вывода. Подробнее... |
area_header_t | ( | const page_index_calculator_t & | calculator, | |
const area_ordinal_t & | ordinal | |||
) |
Инициализирующий конструктор.
calculator | Параметры хранилища. |
ordinal | Номер данной области. |
segment_ordinal_t get_free_segment | ( | ) | const |
bool has_free_segments | ( | ) | const |
Есть ли еще свободные сегменты?
void init_new | ( | ) |
Проинициализировать заголовок для нового файла хранилища.
Устанавливатся признак модификации объекта.
oess_1::io::ibinstream_t & read_from | ( | oess_1::io::ibinstream_t & | from, | |
io_buffer_t & | io_buffer | |||
) |
Прочитать значение заголовка из указанного потока.
Признак модификации объекта сбрасывается.
void remove_free_segment | ( | const segment_ordinal_t & | segment | ) |
есть свободные блоки.
Устанавливатся признак модификации объекта.
void return_free_segment | ( | const segment_ordinal_t & | segment | ) |
имеют свободные блоки.
Устанавливатся признак модификации объекта.
oess_1::io::obinstream_t & write_to | ( | oess_1::io::obinstream_t & | to, | |
io_buffer_t & | io_buffer | |||
) | const |
Записать значение заголовка в указанный поток.
Признак модификации объекта не изменяется.
segment_ordinal_t m_first_free_segment [private] |
Идентификатор первого сегмента, в котором есть свободные блоки.
Значение определено только, если есть свободные сегменты в m_free_segments.