Hash functions for mapping keys to values
Date/Time of Processing: Tuesday 24 May 1994 01:11:15Pm Overall Assessment of System: OK Classification of System: B Basis of Classification -- Syntax Errors PASS Completeness PASS Independence from External Libraries FAIL Independence from a Specific Ada Compiler PASS Explanations for failures -- System withs non-standard library units that are not provided Number of ... Files 2 Library Units 2 Lines 634 Statements 165 Comments 221 Unidentified Withed Units -- 1 unidentified withed units
languages/ada/asr/abstractions/hashmap: File Name Size --------- ---- hashmap.zip 5,140 Totals ============== ============== 1 Files 5,140
This generic package provides a mapping from one arbitrary type, KEY_TYPE, to another arbitrary type, VALUE_TYPE. These types are generic formals, along with an equality relation on KEY_TYPE, an INTEGER subtype that determines the number of hash buckets, and a hashing function on KEY_TYPE that maps to that INTEGER subtype. A mapping is viewed as a set of bindings, or key/value pairs, thereby allowing the use of set notation in describing the bindings. The following is a list of operations: Constructors: Create: Create a MAPPING Bind: Insert a binding into a MAPPING Unbind: Remove a binding from a MAPPING Copy: Copy a MAPPING Query Operations: Is_Empty: Return TRUE if a MAPPING has not been initialized Size: The number of bindings in a MAPPING Is_Bound: Return TRUE if a key is present in a MAPPING Fetch: Return a value, given a key, from a MAPPING Iterators: Make_Keys_Iter, More, Next: Iterator functions to iterate on keys Make_Values_Iter, More, Next: Iterator functions to iterate on values Make_Bindings_Iter, More, Next: Iterator functions to iterate on key/value bindings Heap Management: Destory: Reclaim space consumed by a MAPPING ABSTRACTIONS is used by NOSC/WIS tools 5.1.1, 5.1.2, 6.1.2, and 6.2. See also NEW_ABSTRACTIONS.
DATE VERSION AUTHOR HISTORY 03/85 1.0 Bill Toscano Initial Release
This prologue must be included in all copies of this software. This software is copyright by the author. This software is released to the Ada community. This software is released to the Public Domain (note: software released to the Public Domain is not subject to copyright protection). Restrictions on use or distribution: NONE
This software and its documentation are provided "AS IS" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particular purpose exist. The user is advised to test the software thoroughly before relying on it. The user must assume the entire risk and liability of using this software. In no event shall any person or organization of people be held responsible for any direct, indirect, consequential or inconsequential damages or lost profits.