1SYNOPSIS
2        mapping mkmapping(mixed *arr1, mixed *arr2, mixed *arr3, ...)
3        mapping mkmapping(struct st)
4
5BESCHREIBUNG
6        Liefert ein Mapping mit Keys aus <arr1> und Datenelementen aus
7        <arr2>, <arr3>.... Dem Key <arr1[0]> werden die Datenelemente
8        <arr2[0]>, <arr3[0]>... zugeordnet. Wenn die Datenarrays
9        ungleich gross sind, enthaelt das Mapping nur so viele Eintraege
10        wie im kleinsten Datenarray enthalten sind.
11
12        Die zweite Form konvertiert die angegebene struct <st> in ein Mapping.
13        Hierbei werden die Namen des jeweiligen Elementes in der struct als
14        Schluessel verwendet.
15
16        Gewoehnlich werden Mappings erweitert, indem einfach neue Elemente
17        eingefuegt werden. Diese Funktion ist nuetzlich, wenn der
18        ungefaehr benoetigte Speicherplatz bereits vorher bekannt ist,
19        um so den Overhead bei der Speicherallokation zu minimieren.
20        Allenfalls zu viel allozierter Speicher wird freigegeben, sobald
21        die Funktion, die die mkmapping()-Anweisung enthaelt, beendet ist.
22
23BEISPIELE
24        mkmapping(({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22}));
25          liefert ([ 1:10;20, 2:11;21 ])
26
27        struct s { int a, b, c; };
28        mkmapping((<s> 1, ({ 2, 3 }), 3)
29          liefert ([ "a":1, "b":({2,3}), "c":3 ])
30
31GESCHICHTE
32        LDMud 3.3.433 ermoeglichte die Konversion von structs.
33
34SIEHE AUCH
35        mappings(LPC), mappingp(E), m_indices(E), m_values(E),
36        m_add(E), m_delete(E), sizeof(E), widthof(E), unmkmapping(E),
37        to_struct(E)
38