Ordered key-value container implemented as an AVL tree.

Known issue: constructing an AVLMap fails compilation with «copy», Name was not found. The module also uses unavailable names isMoved and move in insert, recursive in clear, ASSIGN, debugPrint, and each, times in debugPrint, and print and printList in debugPrint without importing them; the API remains unavailable until the module is repaired. Its clear implementation frees node storage without destroying stored key and value objects (AvlMap.mpl:331-346); repair that cleanup before using managed keys or values.


AVLMap

Construct with key and value schemas in front of AVLMap: Int32 Int32 AVLMap.

Fields

Public methods


Ordering and key semantics

Storage and lifetime


find result and returned refs


each (source body --)

Pops a map (or a view of it) and a body and calls the body once per stored pair in ascending key order; the tree structure is unchanged, but the body may replace stored values only through a mutable source map.


See also