EBTree128

EBTree64 class template.

Constructors

this
this()

Constructor

this
this(INodePool node_pool)

Constructor

Members

Aliases

INodePool
alias INodePool = .INodePool!(Node)

Node pool interface type alias

opBinaryRight
alias opBinaryRight(istring op : "in") = opIn_r

Support for the 'in' operator

Functions

add
Node* add(Key key)

Adds a new node to the tree, automatically inserting it in the correct location to keep the tree sorted.

clear
void clear()

Recycles the nodes back to the node pool and call the super class clear()

firstGreaterEqual
Node* firstGreaterEqual(Key key)

Searches the tree for the first node whose key is >= the specified key, and returns it.

firstLessEqual
Node* firstLessEqual(Key key)

Searches the tree for the first node whose key is <= the specified key, and returns it.

opIn_r
Node* opIn_r(Key key)

Searches the tree for the specified key, and returns the first node with that key.

update
Node* update(Node node, Key key)

Sets the key of node to key, keeping the tree sorted.

Mixins

__anonymous
mixin Node!(eb128_node, Key, getKey, eb128_next, eb128_prev, eb128_prev_unique, eb128_next_unique, eb128_delete)

Node struct, Node instances are stored in the ebtree.

__anonymous
mixin Iterators!(Node)
Undocumented in source.
__anonymous
mixin KeylessMethods!(Node, eb128_first, eb128_last)
Undocumented in source.

Static variables

signed_key
auto signed_key;

false if the 'ucent' surrogate is the key type or true if 'cent'.

Structs

Key
struct Key

Key struct, acts as a 'ucent'/'cent' surrogate, using two 64-bit integer values as a combined 128-bit key.

Inherited Members

From IEBTree

root
eb_root root;

Tree root node.

length
size_t length()
clear
void clear()

Removes all values from the tree.

increaseNodeCount
size_t increaseNodeCount(size_t n)

Increases the record counter by n.

decreaseNodeCount
size_t decreaseNodeCount(size_t n)

Decreases the record counter by n.

Parameters

signed

false: use the 'ucent' surrogate as key type, true: 'cent'.

Meta