| SYNOPSIS |
| mixed deep_copy(mixed arg) |
| |
| BESCHREIBUNG |
| Erzeugt eine echte Kopie von <arg> und liefert diese zurueck. Fuer |
| Arrays und Mappings bedeutet dies, dass ein neues Array oder Mapping |
| erzeugt wird, das exakte Kopien der Eintraege des Originals enthaelt. |
| Eingebettete Arrays und Mappings werden ebenso echt kopiert. |
| |
| Fuer andere Typen als Mappings und Arrays bewirkt diese Funktion |
| nichts. |
| |
| Wenn im Driver DYNAMIC_COST definiert ist, zaehlt jedes eingebettete |
| Mapping oder Array zu den Evaluationskosten sowohl in der Groesse als |
| auch in der Einbettungstiefe. |
| |
| BEISPIELE |
| mixed *a, *b; |
| a = ({ 1, ({ 21, 22 }) }); |
| b = deep_copy(a); |
| a[0] = -1; a[1][0] = -21; |
| --> a ist jetzt ({ -1, ({ -21, 22 }) }) |
| b bleibt ({ 1, ({ 21, 22 }) }) |
| |
| GESCHICHTE |
| Eingefuehrt in LDMud 3.2.6. |
| LDMud 3.2.9 fuegte die dynamischen Kosten zur Efun hinzu. |