This essential library offers abstract classes that allow you to grant certain properties to objects.
Sort objects by increasing order. This class supplies comparison features <, >, <=, >= etc. One of them is deferred (<), the others are built using that one.
Identically, the is_equal feature is redefined as being a comparison of two objects where one is neither lower nor greater than the other.
Specifically, this class allows to define numbers (see the lib/numeric library), to sort collections (see the lib/sorting library), or to store dictionaries and sets (with AVL trees, see the lib/storage library).
Memory management. This class supplies the dispose feature that is called when the object is freed by the garbage collector.
Define a hash key. This class provides the deferred function hash_code and redefines is_equal to allow testing of implied equality of the hash keys in the ensure clause.
This class is used with the observer design pattern. An instance of this class is in charge of notifying its attached observers each time a modification of the instance happens, by using the notify feature.
Look through a set of objects. It is the read part of a collection (see the lib/storage library).
It can be used in two different ways: either directly (by using lower, upper and item), either by using an iterator.