#include <page_index_calculator.hpp>
Открытые члены | |
page_index_calculator_t (oess_1::uint_t page_size, oess_1::uint_t chain_link_size) | |
Инициализирующий конструктор. | |
oess_1::uint_t | common_header_page () const |
Получить номер страницы общего заголовка. | |
area_ordinal_t | area_count () const |
Получить общее количество областей файла. | |
segment_ordinal_t | area_segment_count (const area_ordinal_t &area) const |
Получить количество целых сегментов в указанной области. | |
oess_1::uint_t | area_header_page (const area_ordinal_t &area) const |
Получить порядковый номер страницы заголовка указанной области. | |
oess_1::uint_t | segment_header_page (const area_ordinal_t &area, const segment_ordinal_t &segment) const |
Получить номер страницы заголовка указанного сегмента. | |
oess_1::uint_t | segment_page_count () const |
Получить количество страниц в сегменте с учетом заголовка сегмента. | |
oess_1::uint_t | chain_link_on_page_count () const |
Количество блоков на одной странице. | |
chain_id_t | first_chain_link_on_page (oess_1::uint_t page_ordinal) const |
Идентификатор первого блока на указанной странице. | |
area_ordinal_t | chain_link_area (const chain_id_t &block) const |
Получить номер области, в которой находится указанный блок. | |
segment_ordinal_t | chain_link_segment (const chain_id_t &block) const |
Получить номер сегмента, в котором находится указанный блок. | |
oess_1::uint_t | chain_link_page (const chain_id_t &block) const |
Получить номер страницы, на которой находится указанный блок. | |
oess_1::uint_t | chain_link_page_offset (const chain_id_t &block) const |
Получить смещение на странице для указанного блока. | |
chain_id_t | first_chain_id () const |
занят первым. | |
Закрытые данные | |
oess_1::uint_t | m_page_size |
Размер страницы в байтах. | |
oess_1::uint_t | m_chain_link_size |
Размер блока на странице в байтах. | |
oess_1::uint_t | m_page_chain_links |
Количество блоков на странице. | |
oess_1::uint_t | m_areas |
Количество доступных областей в файле. | |
oess_1::uint_t | m_area_segments |
Размер одной полной области в сегментах. | |
oess_1::uint_t | m_last_area_segments |
Размер последней области в сегментах. | |
oess_1::uint_t | m_area_pages |
Размер области в страницах. | |
oess_1::uint_t | m_segment_pages |
Размер сегмента в страницах. |
page_index_calculator_t | ( | oess_1::uint_t | page_size, | |
oess_1::uint_t | chain_link_size | |||
) |
Инициализирующий конструктор.
page_size | Размер одной страницы в байтах. |
chain_link_size | Размер одного блока цепочки (блока на странице). |
chain_id_t first_chain_id | ( | ) | const |
занят первым.
Это первый блок первого сегмента первой области.
chain_id_t first_chain_link_on_page | ( | oess_1::uint_t | page_ordinal | ) | const |
Идентификатор первого блока на указанной странице.
page_ordinal | Порядковый номер страницы. |
oess_1::uint_t segment_header_page | ( | const area_ordinal_t & | area, | |
const segment_ordinal_t & | segment | |||
) | const |
Получить номер страницы заголовка указанного сегмента.
area | Область, к которой относится сегмент. |