SYNOPSIS mapping mkmapping(mixed *arr1, mixed *arr2,...) mapping mkmapping(struct st) DESCRIPTION The first form returns a mapping with indices from 'arr1' and values from 'arr2'... . arr1[0] will index arr2...[0], arr1[1] will index arr2...[1], etc. If the arrays are of unequal size, the mapping will only contain as much elements as are in the smallest array. The second form converts the given struct <st> into a mapping using the struct member names as index values. Normally, mappings are extended by simply inserting new elements. This function is useful if you can estimate the needed size of the mapping in advance, to reduce the malloc overhead. Any unused allocated space will be freed after the current function returns. EXAMPLE mkmapping( ({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22})) returns ([ 1:10;20, 2:11;21 ]) struct s { int a, b, c; }; mkmapping( (<s> 1, ({ 2, 3 }), 3 ) returns ([ "a":1, "b":({2,3}), "c":3 ]) HISTORY LDMud 3.3.433 added the conversion from structs. SEE ALSO mappings(LPC), mappingp(E), m_indices(E), m_values(E), m_add(E), m_delete(E), sizeof(E), widthof(E), unmkmapping(E), to_struct(E)