UNIVERS
15.3
UNIVERS base processing software API
|
#include <DbBufStorage.H>
Public Member Functions | |
DbDataCluster (unsigned nItemSize, DbIndex nStartVolume=DB_CLUSTER_START_VOLUME) | |
virtual | ~DbDataCluster () |
void * | data_item (DbIndex iLocal) const |
void | add_items (DbIndex nCount, DbIndex *pLocal, Logic *bSequent=NULL) |
void | release_items (DbIndex nCount, const DbIndex *pLocal) |
Logic | is_empty () const |
DbIndex | empty_slots () const |
DbIndex | total_slots () const |
void | print_self () const |
Менеджер хранения - массив произвольно взятых строк таблицы. Номер элемента в кластере - строго неотрицательное число! Использование last в качестве индексов ЗАПРЕЩЕНО!
DbDataCluster::DbDataCluster | ( | unsigned | nItemSize, |
DbIndex | nStartVolume = DB_CLUSTER_START_VOLUME |
||
) |
Создать кластер для элементов данных размера nItemSize и начальным количеством неиспользуемых ячеек nStartVolume.
|
virtual |
Удалить кластер и его данные.
void DbDataCluster::add_items | ( | DbIndex | nCount, |
DbIndex * | pLocal, | ||
Logic * | bSequent = NULL |
||
) |
Создание нескольких элементов данных и возвращение их локальных индексов в массив pLocal. Если все индексы идут последовательно, в переменную bSequent возвращается TRUE.
void* DbDataCluster::data_item | ( | DbIndex | iLocal | ) | const |
Доступ к элементу данных по его локальному индексу.
DbIndex DbDataCluster::empty_slots | ( | ) | const |
Возвратить количество неиспользуемых ячеек.
Logic DbDataCluster::is_empty | ( | ) | const |
Возвратить TRUE, если в кластере отсутствуют задействованные ячейки.
void DbDataCluster::print_self | ( | ) | const |
Печать элемента в stderr.
void DbDataCluster::release_items | ( | DbIndex | nCount, |
const DbIndex * | pLocal | ||
) |
Пометить ячейки с указанными индексами как неиспользуемые.
DbIndex DbDataCluster::total_slots | ( | ) | const |
Возвратить общее количество ячеек.