### KeyMap

Store a set of key/value pairs

#### Description:

The KeyMap class is used to store a set of values with associated keys which identify the values. The keys are strings. These may be case sensitive or insensitive as selected by the KeyCase attribute, and trailing spaces are ignored. The value associated with a key can be integer (signed 4 and 2 byte, or unsigned 1 byte), floating point (single or double precision), void pointer, character string or AST Object pointer. Each value can be a scalar or a one-dimensional vector. A KeyMap is conceptually similar to a Mapping in that a KeyMap transforms an input into an output - the input is the key, and the output is the value associated with the key. However, this is only a conceptual similarity, and it should be noted that the KeyMap class inherits from the Object class rather than the Mapping class. The methods of the Mapping class cannot be used with a KeyMap.

#### Inheritance

The KeyMap class inherits from the Object class.

#### Attributes

In addition to those attributes common to all Objects, every KeyMap also has the following attributes:
• KeyCase: Sets the case in which keys are stored

• KeyError: Report an error if the requested key does not exist?

• SizeGuess: The expected size of the KeyMap.

• SortBy: Determines how keys are sorted in a KeyMap.

• MapLocked: Prevent new entries being added to the KeyMap?

#### Functions

In addition to those functions applicable to all Objects, the following functions may also be applied to all KeyMaps: