Fairport
v1.0.38
|
The fundamental page structure which forms the basis of the two BTrees. More...
#include <disk.h>
Public Attributes | |
union { | |
EntryType entries [max_entries] | |
byte _ignore [extra_space] | |
}; | |
byte | num_entries |
Number of entries on this page. | |
byte | num_entries_max |
Maximum number of entries on this page. | |
byte | entry_size |
The size of each entry. | |
byte | level |
The level of this page. A level of zero indicates a leaf. | |
page_trailer< T > | trailer |
The page trailer. | |
Static Public Attributes | |
static const size_t | extra_space = page<T>::page_data_size - sizeof(T) |
static const size_t | max_entries = extra_space / sizeof(EntryType) |
Maximum number of entries on a page. |
The fundamental page structure which forms the basis of the two BTrees.
Generally speaking, the generic form of a BTree page contains a fixed array of entries, followed by metadata about those entries and the page. The entry type (and entry size, and thus the max number of entries) varies between NBT and BBT pages.
T | ulonglong for a unicode store, ulong for an ANSI store |
EntryType | The type of entry on this page. In practice either a bbt_leaf_entry, nbt_leaf_entry, or bt_entry |
union { ... } |
byte fairport::disk::bt_page< T, EntryType >::_ignore[extra_space] |
EntryType fairport::disk::bt_page< T, EntryType >::entries[max_entries] |
byte fairport::disk::bt_page< T, EntryType >::entry_size |
const size_t fairport::disk::bt_page< T, EntryType >::extra_space = page<T>::page_data_size - sizeof(T) [static] |
byte fairport::disk::bt_page< T, EntryType >::level |
const size_t fairport::disk::bt_page< T, EntryType >::max_entries = extra_space / sizeof(EntryType) [static] |
byte fairport::disk::bt_page< T, EntryType >::num_entries |
byte fairport::disk::bt_page< T, EntryType >::num_entries_max |
page_trailer<T> fairport::disk::bt_page< T, EntryType >::trailer |