assoc_list_to_tree234(+AssocList, -Tree)- Converts an association list into a tree.
count(+Tree, ?Count)- Count the number of elements in a tree.
delete(+Tree0, ++Key, -Tree)- Delete a key/value pair from a tree.
init(-Tree)- Initialise a new (empty) 2-3-4 tree.
insert(+Tree0, ++Key, ?Value, -Tree)- Insert a key/value pair into a tree, failing if the key already exists.
is_empty(+Tree)- Check whether a tree is empty.
keys(+Tree, -KeyList)- Return all the keys from a tree.
lookup(+Tree, ++Key, ?Value)- Search a tree for a key.
lower_bound_lookup(+Tree, ++SearchKey, ?Key, ?Value)- Search a tree for the smallest key no smaller than SearchKey.
lower_bound_search(+Tree, ++SearchKey, ?Key, ?Value)- Search a tree for the smallest key no smaller than SearchKey.
member(+Tree, ?Key, ?Value)- Succeeds if Key and Value unify with a key/value pair from Tree.
remove(+Tree0, ++Key, ?Value, -Tree)- Remove a key/value pair from a tree, failing if the key is not present.
remove_smallest(+Tree0, ?Key, ?Value, -Tree)- Remove the smallest key and its corresponding value from a tree.
search(+Tree, ++Key, ?Value)- Search a tree for a key.
set(+Tree0, ++Key, ?Value, -Tree)- Update the value corresponding to a key in a tree, inserting the key if it doesn't exist already.
tree234_to_assoc_list(+Tree, -AssocList)- Converts a tree into an association list.
update(+Tree0, ++Key, ?Value, -Tree)- Update the value corresponding to a key in a tree.
upper_bound_lookup(+Tree, ++SearchKey, ?Key, ?Value)- Search a tree for the largest key no larger than SearchKey.
upper_bound_search(+Tree, ++SearchKey, ?Key, ?Value)- Search a tree for the largest key no larger than SearchKey.
values(+Tree, -ValueList)- Return all the values from a tree.

This module implements 2-3-4 trees. They can be used to manage and index a collection of key/value pairs. You probably want to use the interface provided by `map.pl' instead of using this module directly.

Note that keys must be ground, but values are allowed to be variables.

**Author:**Thomas Conway (Mercury) and Warwick Harvey (ECLiPSe)

Generated from m_tree234.eci on 2017-09-08 15:30