next up previous 264
Next: AST_MAPPUT1X - Add a vector value to a KeyMap
Up: AST Routine Descriptions
Previous: AST_MAPLENGTH - Get the vector length of an entry in a KeyMap


AST_MAPPUT0$<$X$>$ - Add a scalar value to a KeyMap

Description:
This is a set of routine for adding scalar values to a KeyMap. You should use a routine which matches the data type of the data you wish to add to the KeyMap by replacing $<$X$>$ in the generic routine name AST_MAPPUT0$<$X$>$ by an appropriate 1-character type code (see the "Data Type Codes" section below for the code appropriate to each supported data type).
Invocation:
CALL AST_MAPPUT0$<$X$>$( THIS, KEY, VALUE, COMMENT, STATUS )
Arguments:
THIS = INTEGER (Given)
Pointer to the KeyMap in which to store the supplied value.
KEY = CHARACTER $*$ ( $*$ ) (Given)
A character string to be stored with the value, which can later be used to identify the value. Trailing spaces are ignored. The supplied string is converted to upper case before use if the KeyCase attribute is currently set to zero.
VALUE = $<$X$>$type (Given)
The value to be stored. The data type of this value should match the 1-character type code appended to the routine name (e.g. if you are using AST_MAPPUT0A, the type of this value should be "integer pointer for an AstObject").
COMMENT = CHARACTER $*$ ( $*$ ) (Given)
A comment string to be stored with the value.
STATUS = INTEGER (Given and Returned)
The global status.
Notes:
  • If the supplied key is already in use in the KeyMap, the new value will replace the old value.

  • If the stored value is an AST Object pointer, the Object's reference count is incremented by this call. Any subsequent changes made to the Object using the returned pointer will be reflected in any any other active pointers for the Object, including any obtained later using AST_MAPGET0A. The reference count for the Object will be decremented when the KeyMap is destroyed, or the entry is removed or over-written with a different pointer.
Data Type Codes
To select the appropriate routine, you should replace $<$X$>$ in the generic routine name AST_MAPPUT0$<$X$>$ with a 1-character data type code, so as to match the data type $<$X$>$type of the data you are processing, as follows:
  • D: DOUBLE PRECISION

  • R: REAL

  • I: INTEGER

  • C: CHARACTER

  • A: INTEGER used to identify an AstObject

  • S: INTEGER$*$2 (short integer)

  • B: Unsigned byte

For example, AST_MAPPUT0D would be used to store a DOUBLE PRECISION value, while AST_MAPPUT0I would be used to store an INTEGER, etc.


next up previous 264
Next: AST_MAPPUT1X - Add a vector value to a KeyMap
Up: AST Routine Descriptions
Previous: AST_MAPLENGTH - Get the vector length of an entry in a KeyMap

AST A Library for Handling World Coordinate Systems in Astronomy
Starlink User Note 210
R.F. Warren-Smith & D.S. Berry
24th May 2011
E-mail:ussc@star.rl.ac.uk

Copyright (C) 2009 Science \& Technology Facilities Council