astMapPutElem
X
astMapPutElemX
-
Put a value into an element of a vector value in a KeyMap
- Description:
- This is a set of functions for storing a value in a single element of
a vector value in a KeyMapKeyMap. You should replace
X
in the generic
function name
astMapPutElem
X
by an appropriate 1-character type code (see the "Data Type Codes"
section below for the code appropriate to each supported data type).
The supplied value is converted from the data type indicated by
X
to the data type of the KeyMap entry before being stored (an error
is reported if it is not possible to convert the value to the
required data type).
- Synopsis:
- void astMapPutElem
X
( AstKeyMap
this, const char
key, int elem,
X
type
value )
- Parameters:
-
this
-
Pointer to the KeyMap.
-
key
-
The character string identifying the value to be retrieved. Trailing
spaces are ignored.
The supplied string is converted to upper case before use if the
KeyCaseKeyCase attribute is currently set to zero.
-
elem
-
The index of the vector element to modify, starting at
zero.
-
value
-
The value to store.
- Class Applicability:
-
KeyMap
-
If the
"elem"
index is outside the range of the vector, the length of
the vector will be increased by one element and the supplied
value will be stored at the end of the vector in the new element.
-
TableTable
-
If the
"elem"
index is outside the range of the vector, an error will be
reported. The number of elements in each cell of a column is
specified when the column is created using
astAddColumnastAddColumn.
- Notes:
- If the entry originally holds a scalar value, it will be treated
like a vector entry of length 1.
- If the specified key cannot be found in the given KeyMap, or is
found but has an undefined value, a new
vector entry with the given name, and data type implied by
X
, is
created and the supplied value is stored in its first entry.
-
Data Type Codes
- To select the appropriate
function, you should replace
X
in the generic function name
astMapPutElem
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
- F: float
- I: int
- C: "const" pointer to null terminated character string
- A: Pointer to AstObject
- P: Generic "void
" pointer
- S: short int
- B: Unsigned byte (i.e. char)
For example, astMapPutElemD would be used to put a "double" value, while
astMapPutElemI would be used to put an "int" value, etc. For D or I, the
supplied "value" parameter should be a double or int. For
C, the supplied "value" parameter should be a pointer to a character
string. For A, the supplied "value" parameter should be an AstObject
pointer.