SYNOPSIS
        mapping mkmapping(mixed *arr1, mixed *arr2, mixed *arr3, ...)
        mapping mkmapping(struct st)

BESCHREIBUNG
        Liefert ein Mapping mit Keys aus <arr1> und Datenelementen aus
        <arr2>, <arr3>.... Dem Key <arr1[0]> werden die Datenelemente
        <arr2[0]>, <arr3[0]>... zugeordnet. Wenn die Datenarrays
        ungleich gross sind, enthaelt das Mapping nur so viele Eintraege
        wie im kleinsten Datenarray enthalten sind.

        Die zweite Form konvertiert die angegebene struct <st> in ein Mapping.
        Hierbei werden die Namen des jeweiligen Elementes in der struct als
        Schluessel verwendet.

        Gewoehnlich werden Mappings erweitert, indem einfach neue Elemente
        eingefuegt werden. Diese Funktion ist nuetzlich, wenn der
        ungefaehr benoetigte Speicherplatz bereits vorher bekannt ist,
        um so den Overhead bei der Speicherallokation zu minimieren.
        Allenfalls zu viel allozierter Speicher wird freigegeben, sobald
        die Funktion, die die mkmapping()-Anweisung enthaelt, beendet ist.

BEISPIELE
        mkmapping(({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22}));
          liefert ([ 1:10;20, 2:11;21 ])

        struct s { int a, b, c; };
        mkmapping((<s> 1, ({ 2, 3 }), 3)
          liefert ([ "a":1, "b":({2,3}), "c":3 ])

GESCHICHTE
        LDMud 3.3.433 ermoeglichte die Konversion von structs.

SIEHE AUCH
        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)
