EBTree32

EBTree32 class template.

Constructors

this
this()

Constructor

this
this(INodePool node_pool)

Constructor

Members

Aliases

INodePool
alias INodePool = .INodePool!(Node)

Node pool interface type alias

Key
alias Key = int

Key type alias

Key
alias Key = uint
Undocumented in source.
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.

add
Node* add(Dual16Key key)

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

add
Node* add(Dual16Key key)

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

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.

update
Node* update(Node node, Dual16Key key)

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

Mixins

__anonymous
mixin Node!(eb32_node, Key, getKey, eb32_next, eb32_prev, eb32_prev_unique, eb32_next_unique, eb32_delete)

Node struct mixin. Elements of Node are stored in the tree. @see ocean.util.container.ebtree.model.KeylessMethods.

__anonymous
mixin Iterators!(Node)

Mixin of iterators. @see ocean.util.container.ebtree.model.KeylessMethods.

__anonymous
mixin KeylessMethods!(Node, eb32_first, eb32_last)

Mixin of methods. @see ocean.util.container.ebtree.model.KeylessMethods.

Static variables

signed_key
auto signed_key;

false if 'uint' is the key type or true if it is 'int'.

Structs

Dual16Key
struct Dual16Key

Dual32Key struct, allows the usage of two 32-bit integer values as a combined 64-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 'uint' as key type, true: use 'int'.

Meta