BalancedTree

haxe.ds.BalancedTree (Class) → EnumValueMap
Implements: haxe.IMap

BalancedTree allows key-value mapping with arbitrary keys, as long as they can be ordered. By default, Reflect.compare is used in the compare method, which can be overridden in subclasses.

Operations have a logarithmic average and worst-case cost.

Iteration over keys and values, using keys and iterator respectively, are in-order.

Instance Members

set(key: haxe.ds.BalancedTree.K, value: haxe.ds.BalancedTree.V): Void

Binds key to value.

If key is already bound to a value, that binding disappears.

If key is null, the result is unspecified.

Name Type
key haxe.ds.BalancedTree.K
value haxe.ds.BalancedTree.V

get(key: haxe.ds.BalancedTree.K): Null<haxe.ds.BalancedTree.V>

Returns the value key is bound to.

If key is not bound to any value, null is returned.

If key is null, the result is unspecified.

Name Type
key haxe.ds.BalancedTree.K
Returns
Null<haxe.ds.BalancedTree.V>

iterator(): Iterator

Iterates over the bound values of this BalancedTree.

This operation is performed in-order.

Returns
Iterator

keyValueIterator(): KeyValueIterator

See Map.keyValueIterator

Returns
KeyValueIterator

keys(): Iterator

Iterates over the keys of this BalancedTree.

This operation is performed in-order.

Returns
Iterator

new(): Void

Creates a new BalancedTree, which is initially empty.

Private Members

root: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>

iteratorLoop(node: TreeNode<iteratorLoop.K, iteratorLoop.V>, acc: Array<iteratorLoop.V>): Void
Name Type
node TreeNode<iteratorLoop.K, iteratorLoop.V>
acc Array<iteratorLoop.V>

setLoop(k: haxe.ds.BalancedTree.K, v: haxe.ds.BalancedTree.V, node: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>): TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Name Type
k haxe.ds.BalancedTree.K
v haxe.ds.BalancedTree.V
node TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Returns
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>

keysLoop(node: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>, acc: Array<haxe.ds.BalancedTree.K>): Void
Name Type
node TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
acc Array<haxe.ds.BalancedTree.K>

balance(l: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>, k: haxe.ds.BalancedTree.K, v: haxe.ds.BalancedTree.V, r: TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>): TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Name Type
l TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
k haxe.ds.BalancedTree.K
v haxe.ds.BalancedTree.V
r TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>
Returns
TreeNode<haxe.ds.BalancedTree.K, haxe.ds.BalancedTree.V>

compare(k1: haxe.ds.BalancedTree.K, k2: haxe.ds.BalancedTree.K): Int
Name Type
k1 haxe.ds.BalancedTree.K
k2 haxe.ds.BalancedTree.K
Returns
Int