From Liberty Eiffel Wiki
Revision as of 20:43, 10 September 2014 by Hzwakenberg (talk | contribs) (→‎HASHABLE)
Jump to navigation Jump to search

This essential library brings together abstract classes that allow 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 for the implication of 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.


Serializing objects. This class only allows to mark the kind of the objects storable in a repository (see the lib/storage library).


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.


This class is used with the visitor design pattern. An instance of this class must implement the accept feature.