STX B+ Tree Template Classes  0.9
Static Public Attributes | List of all members
stx::btree_default_map_traits< _Key, _Data > Struct Template Reference

Generates default traits for a B+ tree used as a map. More...

#include <btree.h>

Static Public Attributes

static const bool selfverify = false
 If true, the tree will self verify it's invariants after each insert() or erase(). More...
 
static const bool debug = false
 If true, the tree will print out debug information and a tree dump during insert() or erase() operation. More...
 
static const int leafslots = BTREE_MAX( 8, 256 / (sizeof(_Key) + sizeof(_Data)) )
 Number of slots in each leaf of the tree. More...
 
static const int innerslots = BTREE_MAX( 8, 256 / (sizeof(_Key) + sizeof(void*)) )
 Number of slots in each inner node of the tree. More...
 
static const size_t binsearch_threshold = 256
 As of stx-btree-0.9, the code does linear search in find_lower() and find_upper() instead of binary_search, unless the node size is larger than this threshold. More...
 

Detailed Description

template<typename _Key, typename _Data>
struct stx::btree_default_map_traits< _Key, _Data >

Generates default traits for a B+ tree used as a map.

It estimates leaf and inner node sizes by assuming a cache line size of 256 bytes.

Definition at line 116 of file btree.h.

Member Data Documentation

template<typename _Key, typename _Data>
const size_t stx::btree_default_map_traits< _Key, _Data >::binsearch_threshold = 256
static

As of stx-btree-0.9, the code does linear search in find_lower() and find_upper() instead of binary_search, unless the node size is larger than this threshold.

See notes at http://panthema.net/2013/0504-STX-B+Tree-Binary-vs-Linear-Search

Definition at line 140 of file btree.h.

template<typename _Key, typename _Data>
const bool stx::btree_default_map_traits< _Key, _Data >::debug = false
static

If true, the tree will print out debug information and a tree dump during insert() or erase() operation.

The header must have been compiled with BTREE_DEBUG defined and key_type must be std::ostream printable.

Definition at line 126 of file btree.h.

template<typename _Key, typename _Data>
const int stx::btree_default_map_traits< _Key, _Data >::innerslots = BTREE_MAX( 8, 256 / (sizeof(_Key) + sizeof(void*)) )
static

Number of slots in each inner node of the tree.

Estimated so that each node has a size of about 256 bytes.

Definition at line 134 of file btree.h.

template<typename _Key, typename _Data>
const int stx::btree_default_map_traits< _Key, _Data >::leafslots = BTREE_MAX( 8, 256 / (sizeof(_Key) + sizeof(_Data)) )
static

Number of slots in each leaf of the tree.

Estimated so that each node has a size of about 256 bytes.

Definition at line 130 of file btree.h.

template<typename _Key, typename _Data>
const bool stx::btree_default_map_traits< _Key, _Data >::selfverify = false
static

If true, the tree will self verify it's invariants after each insert() or erase().

The header must have been compiled with BTREE_DEBUG defined.

Definition at line 120 of file btree.h.


The documentation for this struct was generated from the following file: