EBTree64

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

Key
alias Key = long

Key type alias

Key
alias Key = ulong
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(Dual32Key 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, Dual32Key key)

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

Mixins

__anonymous
mixin Node!(eb64_node, Key, getKey, eb64_next, eb64_prev, eb64_prev_unique, eb64_next_unique, eb64_delete)
Undocumented in source.
__anonymous
mixin Iterators!(Node)
Undocumented in source.
__anonymous
mixin KeylessMethods!(Node, eb64_first, eb64_last)
Undocumented in source.

Static variables

signed_key
auto signed_key;

false if 'ulong' is the key type or true if it is 'long'.

Structs

Dual32Key
struct Dual32Key

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 'ulong' as key type, true: use 'long'.

Meta