PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

Hash functions for mapping keys to values


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
Abstractions/HASHMAP (A1HSHMAP)
VERSION
1.0
REVIEW CODE
C1 1.0 B
INET ADDRESS
Not documented in PAL database
AUTHOR
Bill Toscano, Michael Gordon
Intermetrics, Inc,
733 Concord Ave
Cambridge, MA 02138
Contact: Lt. Colonel Falgiano
ESD/SCW
Hanscom AFB, MA 01731
RIGHTS
PUBLIC DOMAIN
COPYRIGHT
(c) 1985 Intermetrics, Inc.
DATE CREATED
15 October 1985
DATE RELEASED
18 March 1985
DATE LAST UPDATED
17 March 1985
LOCATION
ASR
C2MUG
PC-BLUE
ENVIRONMENT
VAX/VMS, DEC Ada
LIMITATIONS
Not documented in PAL database
CERTIFICATION
Ada System Certifier_1 1.0
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

FILE LISTING

Directory Display


languages/ada/asr/abstractions/hashmap:
  File Name                 Size
  ---------                 ----
  hashmap.zip              5,140


Totals
  ==============  ==============
    1 Files                5,140

ABSTRACT

	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.


REVISION HISTORY

DATE         VERSION AUTHOR                  HISTORY 
03/85        1.0  Bill Toscano               Initial Release 


RELEASE NOTICE

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


DISCLAIMER

	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.