dict_to_vector — Returns a get_keyword style vector of all items
stored in the given dictionary.
vector dict_to_vector (
inout dict dictionary ,
in destructive any
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
The dictionary to scan.
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).