![]() |
UNIVERS
15.3
UNIVERS base processing software API
|
#include <DbBufStorage.H>
Public Member Functions | |
| DbBufStorage (unsigned nItemSize) | |
| virtual | ~DbBufStorage () |
| void | set_item_size (unsigned nItemSize) |
| DbIndex | max_lines_in_cluster () const |
| void | preload_lines (DbIndex line1, DbIndex line2) |
| void | change_lines (DbIndex line1, DbIndex line2) |
| void | insert_line (DbIndex line, DbIndex lines_cnt) |
| void | remove_lines (DbIndex line1, DbIndex line2) |
| void | exchange_lines (DbIndex line1, DbIndex line2) |
| void | clean_storage () |
| void * | line_pointer (DbIndex line) const |
| void | sequent_lines (DbIndex line1, DbIndex line2, DbIndexAr &arLine, DbIndexAr &arCnt) const |
| void | print_self () |
| DbIndex | lines_count () const |
| DbLineEntry & | operator[] (DbIndex line) const |
Static Public Member Functions | |
| static void | good_line_range (DbIndex line1, DbIndex line2, DbIndex line[2]) |
Хранилище строк таблицы ЛБД. Не осуществляет собственно операции загрузки, изменения, сохранения строк в файле. Но обеспечивает выделение памяти и управления ею.
| DbBufStorage::DbBufStorage | ( | unsigned | nItemSize | ) |
Создать пустое хранилище строк длиной nItemSize байт.
|
virtual |
Разрушить хранилище.
| void DbBufStorage::change_lines | ( | DbIndex | line1, |
| DbIndex | line2 | ||
| ) |
Изменить указанные строки line1..line2 в памяти.
| void DbBufStorage::clean_storage | ( | ) |
Очистить хранилище.
| void DbBufStorage::exchange_lines | ( | DbIndex | line1, |
| DbIndex | line2 | ||
| ) |
Поменять указанные строки line1 и line2 местами.
|
static |
Упорядочить заданную пару индексов строк так, чтобы line[1]>=line[0]
| void DbBufStorage::insert_line | ( | DbIndex | line, |
| DbIndex | lines_cnt | ||
| ) |
Вставить указанное количество строк начиная с указанной.
| void* DbBufStorage::line_pointer | ( | DbIndex | line | ) | const |
Возвратить указатель на место хранения указанной строки.
|
inline |
Количество строк в таблице.
| DbIndex DbBufStorage::max_lines_in_cluster | ( | ) | const |
Получить максимально допустимый размер кластера в строках. При этом размер кластера может превышать указанный предел в том случае, если этот кластер создан за одну операцию добавления строк.
|
inline |
Атрибуты каждой строки.
| void DbBufStorage::preload_lines | ( | DbIndex | line1, |
| DbIndex | line2 | ||
| ) |
Подготовить указанные строки line1..line2 к загрузке в память.
| void DbBufStorage::print_self | ( | ) |
Распечатать содержимое хранилища.
| void DbBufStorage::remove_lines | ( | DbIndex | line1, |
| DbIndex | line2 | ||
| ) |
Удалить указанные строки line1..line2 в памяти.
| void DbBufStorage::sequent_lines | ( | DbIndex | line1, |
| DbIndex | line2, | ||
| DbIndexAr & | arLine, | ||
| DbIndexAr & | arCnt | ||
| ) | const |
Возвратить в массивах arLine, arCnt участки диапазона строк line1..line2, расположенные в памяти последовательно.
| void DbBufStorage::set_item_size | ( | unsigned | nItemSize | ) |
Изменить размер строки на указанный. Это возможно только в случае пустого хранилица. Если хранилище не пустое, то произойден исключительная ситуация с кодом ERROR__MISMATCH.
1.8.5