class HASH_TABLE [G, H -> HASHABLE] General cluster: base description: "Hash tables, used to store items identified by hashable keys" create: make Ancestors MISMATCH_CORRECTOR TABLE* [G, H] UNBOUNDED* [G] Queries after: BOOLEAN capacity: INTEGER_32 changeable_comparison_criterion: BOOLEAN conflict: BOOLEAN count: INTEGER_32 current_keys: ARRAY [H] cursor: CURSOR Extendible: BOOLEAN found: BOOLEAN found_item: G Full: BOOLEAN has (key: H): BOOLEAN has_item (v: G): BOOLEAN infix "@" (key: H): G inserted: BOOLEAN is_empty: BOOLEAN is_equal (other: [like Current] HASH_TABLE [G, H]): BOOLEAN is_inserted (v: G): BOOLEAN item alias "[]" (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_32 off: BOOLEAN prunable: BOOLEAN removed: BOOLEAN replaced: BOOLEAN valid_cursor (c: CURSOR): BOOLEAN valid_key (k: H): BOOLEAN Commands accommodate (n: INTEGER_32) 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_32) merge (other: HASH_TABLE [G, H]) 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 deleted marks not void keys same capacity plus one content same capacity plus one deleted same capacity 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