Name
dict_to_vector — Returns a get_keyword style vector of all items stored in the given dictionary.
Synopsis
vector
dict_to_vector
(
|
inout dict dictionary , |
in
destructive
any
); |
Description
The function returns an array of all data stored in the given
dictionary, every pair is represented as two consecutive element
of the resulting array. Thus the dictionary of N pairs is
converted into a vector of length 2N where keys are at positions
0, 2, 4, ..., 2N-1 and corresponding dependent data are at
positions 1, 3, 5, ..., 2N. If keys are all scalars of same type
then get_keyword
function can be used to search in the resulting array.
If the destructive parameter is 1 or 2 then
the function may avoid copying of keys and values to the resulting
array by moving them out from the dictionary. This is faster but
the dictionary will become empty at the end of operation. The
destructive parameter equal to 1 does not
have any effect if the dictionary is used as a value of more than
one variable. Thus it is safe to make this parameter equal to 1 as
soon as the variable passed to the function as
dict is no longer in use after the function
call and there's no need to inspect the whole program to check if
other variables may be affected. The parameter equal to 2 ignores
the presence of multiple variables so the operation may cause
unexpected results in other fragments of code that share the
dictionary.
Parameters
dict
The dictionary to scan.
destructive
Flag that indicates whether the dictionary can be cleaned during the operation (0 = never clean, 1 = only if there is no other variables, 2 = clean unconditionally).
Return Types
The function returns a vector of even length.