| SYNOPSIS |
| mixed copy(mixed arg) |
| |
| DESCRIPTION |
| Create a shallow copy of <arg> and return it. For arrays, mappings, |
| structs and lightweight objects this means that a new array, mapping, |
| struct resp. lightweight object is created with copies of the |
| original content. Embedded arrays, mappings, structs or lightweight |
| objects are copied by reference! |
| |
| For other values this function is a no-op. |
| |
| If a lightweight objects was copied, the H_CREATE_LWOBJECT_COPY hook |
| will be called to finish initialization of the lightweight object. |
| |
| EXAMPLES |
| mixed *a, *b; |
| |
| a = ({ 1, ({ 21, 22 }) }); |
| b = copy(a); |
| a[0] = -1; a[1][0] = -21; |
| --> a is now ({ -1, ({ -21, 22 }) }) |
| b is now ({ 1, ({ -21, 22 }) }) |
| |
| HISTORY |
| Introduced in LDMud 3.2.6. |
| |
| SEE ALSO |
| deep_copy(E) |