Gobo Eiffel Structure Library
Copyright (c) 2001, Eric Bezault and others
Eiffel Forum License v2 (see forum.txt)
-- Routines that ought to be in class SPECIAL
-- (From KL_IMPORTED_SPECIAL_ROUTINES)
-- Routines that ought to be in class SPECIAL
-- (From KL_IMPORTED_SPECIAL_ROUTINES)
-- Routines that ought to be in class SPECIAL
-- (From KL_IMPORTED_SPECIAL_ROUTINES)
-- Routines that ought to be in class SPECIAL
-- (From KL_IMPORTED_SPECIAL_ROUTINES)
-- Routines that ought to be in class SPECIAL
-- (From KL_IMPORTED_SPECIAL_ROUTINES)
-- Routines that ought to be in class ANY
-- (From KL_IMPORTED_ANY_ROUTINES)
-- Item associated with k;
-- Return default value if no such item
-- (From KL_VALUES)
-- Equality tester for keys;
-- A void equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SPARSE_CONTAINER)
-- Equality tester;
-- A void equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SEARCHABLE)
-- New external cursor for traversal
-- (From DS_TRAVERSABLE)
-- Initial capacity in make_default
-- (Default value: 10)
-- (From DS_RESIZABLE)
-- Maximum number of items in container
-- (From DS_RESIZABLE)
-- Number of items in container
-- (From DS_CONTAINER)
-- Number of times v appears in container
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Is table equal to other?
-- Do not take cursor positions, capacity
-- nor equality_tester into account.
-- (From ANY)
-- Is internal cursor on first item?
-- (From DS_LINEAR)
-- Is container full?
-- (From DS_RESIZABLE)
-- Can set_equality_tester be called with a_tester
-- as argument in current state of container?
-- (Default answer: True.)
-- (From DS_SEARCHABLE)
-- Does container use the same comparison
-- criterion as other?
-- (From DS_SEARCHABLE)
-- Are v and u considered equal?
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Is there no item at internal cursor position?
-- (From DS_TRAVERSABLE)
-- Is internal cursor at same position as a_cursor?
-- (From DS_TRAVERSABLE)
-- Is there no valid position to left of internal cursor?
-- (From DS_BILINEAR)
-- Is internal cursor on last item?
-- (From DS_BILINEAR)
-- Did last call to search succeed?
-- (From DS_SPARSE_CONTAINER)
-- Does container include v?
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- (From DS_SEARCHABLE)
-- Can set_key_equality_tester be called with a_tester
-- as argument in current state of container?
-- (From DS_SPARSE_TABLE)
-- Is container empty?
-- (From DS_CONTAINER)
-- Move internal cursor to first position at or after current
-- position where item_for_iteration and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move after if not found.
-- (From DS_LINEAR)
-- Move internal cursor to last position.
-- (From DS_BILINEAR)
-- Move internal cursor to first position at or before current
-- position where item_for_iteration and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move before if not found.
-- (From DS_BILINEAR)
-- Associate v with key k. Put v at the end of table
-- if no item was already associated with k, or replace
-- existing item otherwise.
-- Resize table if necessary.
-- Do not move cursors.
-- (From DS_SPARSE_TABLE)
-- Associate v with key k. Put v at the end of table
-- if no item was already associated with k, or replace
-- existing item otherwise.
-- Do not move cursors.
-- (From DS_SPARSE_TABLE)
-- Replace item associated with
-- the key of found_item by v.
-- Do not move cursors.
-- (From DS_SPARSE_TABLE)
-- Remove all items from container.
-- Move all cursors off.
-- (From DS_CONTAINER)
-- Resize container so that it can contain
-- at least n items. Do not lose any item.
-- Do not move cursors.
-- (From DS_RESIZABLE)
-- Clone of current object
-- (From KL_CLONABLE)
-- Add a_cursor to the list of traversing cursors
-- (i.e. cursors associated with current container
-- and which are not currently off).
-- (From DS_TRAVERSABLE)
-- Remove a_cursor from the list of traversing cursors
-- (i.e. cursors associated with current container
-- and which are not currently off).
-- (From DS_TRAVERSABLE)
-- Key at a_cursor position
-- (From DS_SPARSE_TABLE)
-- Special values for before and after cursor positions
-- (From DS_SPARSE_CONTAINER)
-- Is there no valid position to right of a_cursor?
-- (From DS_LINEAR)
-- Move a_cursor to previous position.
-- (From DS_BILINEAR)
-- Is there no valid position to left of a_cursor?
-- (From DS_BILINEAR)
-- Move a_cursor to last position.
-- (From DS_BILINEAR)
-- Move a_cursor to next position.
-- (From DS_LINEAR)
-- Move a_cursor to other's position.
-- (From DS_TRAVERSABLE)
-- Is a_cursor on first item?
-- (From DS_LINEAR)
-- Is a_cursor on last item?
-- (From DS_BILINEAR)
-- Item at a_cursor position
-- (From DS_TRAVERSABLE)
-- Is there no item at a_cursor position?
-- (From DS_TRAVERSABLE)
-- Is a_cursor at same position as other?
-- (From DS_TRAVERSABLE)
-- Move a_cursor to first position at or before its current
-- position where cursor_item (a_cursor) and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move before if not found.
-- (From DS_BILINEAR)
-- Move a_cursor to first position at or after its current
-- position where cursor_item (a_cursor) and v are equal.
-- (Use equality_tester's comparison criterion
-- if not void, use = criterion otherwise.)
-- Move after if not found.
-- (From DS_LINEAR)
-- Move a_cursor to first position.
-- (From DS_LINEAR)
-- Remove holes between stored items. May avoid
-- resizing when calling force_last for example.
-- Do not lose any item. Do not move cursors.
-- (From DS_SPARSE_CONTAINER)
-- Search for item at key k.
-- If found, set found to true, and set
-- found_item to item associated with k.
-- (From DS_SPARSE_CONTAINER)
-- Set key_equality_tester to a_tester.
-- A void key equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SPARSE_TABLE)
-- Set equality_tester to a_tester.
-- A void equality tester means that =
-- will be used as comparison criterion.
-- (From DS_SEARCHABLE)
-- All slots to the right of this position
-- are guaranteed to be free
-- (From DS_SPARSE_CONTAINER)
-- Is there a slot at position i?
-- (From DS_SPARSE_CONTAINER)
-- Is there an item at position i?
-- (From DS_SPARSE_CONTAINER)
-- Item at position i in clashes
-- (From DS_SPARSE_CONTAINER)
-- Item at position i in items
-- (From DS_SPARSE_CONTAINER)
-- Item at position i in keys
-- (From DS_SPARSE_CONTAINER)
Sparse tables implemented with single arrays. Ancestor of
hash tables which should supply its hashing mechanism.