Automatic generation produced by ISE Eiffel
class HASH_TABLE [G, H -> HASHABLE] General cluster: base.structures.table description: "Hash tables, used to store items identified by hashable keys" create: make Ancestors TABLE [G, H] UNBOUNDED [G] Queries infix "@" (key: H): G after: BOOLEAN capacity: INTEGER changeable_comparison_criterion: BOOLEAN conflict: BOOLEAN count: INTEGER current_keys: ARRAY [H] cursor: CURSOR Extendible: BOOLEAN found: BOOLEAN found_item: G Full: BOOLEAN has (key: H): BOOLEAN has_item (v: G): BOOLEAN inserted: BOOLEAN is_empty: BOOLEAN is_equal (other: [like Current] HASH_TABLE [G, H]): BOOLEAN is_inserted (v: G): BOOLEAN item (key: H): G item_for_iteration: G key_for_iteration: H linear_representation: ARRAYED_LIST [G] not_found: BOOLEAN object_comparison: BOOLEAN occurrences (v: G): INTEGER off: BOOLEAN prunable: BOOLEAN removed: BOOLEAN replaced: BOOLEAN valid_cursor (c: CURSOR): BOOLEAN valid_key (k: H): BOOLEAN Commands accommodate (n: INTEGER) clear_all compare_objects compare_references copy (other: [like Current] HASH_TABLE [G, H]) extend (new: G; key: H) fill (other: CONTAINER [G]) force (new: G; key: H) forth go_to (c: CURSOR) make (n: INTEGER) put (new: G; key: H) remove (key: H) replace (new: G; key: H) replace_key (new_key, old_key: H) search (key: H) start Constraints keys not void content not void keys same capacity plus one content same capacity plus one deleted same capacity keys starts at zero content starts at zero deleted starts at zero valid iteration position control non negative special status max occupation meaningful initial occupation meaningful sized generously enough count big enough count small enough breathing space count no more than slot count slot count big enough slot count small enough extra space non negative -- Generated by ISE Eiffel --
For more details: www.eiffel.com