Mutable branch node.
Radix-Branch population histogram. Index maps to population with value range (0 .. radix).
256-Branch population histogram.
Mutable node.
4-Branch population histogram. Index maps to population with value range (0 .. 4).
Sparse-Branch population histogram.
Returns a duplicate of this tree with root at curr. Shallowly duplicates the values in the map case.
Returns a duplicate of this tree with root at curr. Shallowly duplicates the values in the map case.
Destructively expand curr to a branch node able to store capacityIncrement more sub-nodes.
Destructively expand curr to a leaf node able to store capacityIncrement more sub-nodes.
Destructively expand curr to make room for capacityIncrement more keys and return it.
Destructively expand curr to make room for capacityIncrement more keys and return it.
Destructively expand curr to make room for capacityIncrement more keys and return it.
Destructively expand curr making room for nextKey and return it.
Get leaves of node curr.
Get prefix of node curr.
Get sub-Node of branch Node curr at index subIx.
Get number of sub-nodes of node curr.
Insert key into sub-tree under root curr.
Insert key into sub-tree under branch curr above prefix, that is the prefix of curr is stripped from key prior to insertion.
Insert key into sub-tree under branch curr below prefix, that is the prefix of curr is not stripped from key prior to insertion.
Like insertAtAbovePrefix but also asserts that key is currently not stored under curr.
Pop n from prefix.
Release Leaf1!Value curr.
Release Node curr.
Set direct leaves node of node curr to leaf1.
Set prefix of branch node curr to prefix.
Destructively expand curr to a leaf node able to store capacityIncrement more sub-nodes.
Set sub-Node of branch Node curr at index ix to subNode.
Split curr using prefix.
Tree Population and Memory-Usage Statistics.
Adaptive radix tree (ART) container storing untyped (raw) keys.
In set-case (Value is void) this container contains specific memory optimizations for representing a set pointers or integral types (of fixed length).
Radix-trees are suitable for storing ordered sets/maps with variable-length keys and provide completion of all its keys matching a given key-prefix. This enables, for instance, efficient storage and retrieval of large sets of long URLs with high probability of sharing a common prefix, typically a domain and path.
Branch packing of leaves is more efficient when Key.sizeof is fixed, that is, the member hasFixedKeyLength returns true.
For optimal performance, the individual bit-chunks should be arranged starting with most sparse chunks first. For integers this means most significant chunk (byte) first. This includes IEEE-compliant floating point numbers.
For a good introduction to adaptive radix trees (ART) see