efun: to_struct
SYNOPSIS:
mixed to_struct(mixed *|mapping data)
mixed to_struct(mixed *|mapping data, struct template)
mixed to_struct(struct)
DESCRIPTION:
The given array or mapping <data> is returned as a struct. If a
<template> struct is given, the returned struct is of the same
type; without a template, an anonymous struct is returned.
Structs are returned unchanged.
If <data> is an array, its elements are assigned in order to the
resulting struct. For an anonymous struct, all elements of <data>
are assigned, for a templated struct only as many as fit into
the struct.
If <data> is a mapping and no template is given, the resulting
anonymous struct contains all elements from <data> with a string
key; the key name is used as struct member name.
If <data> is a mapping and a template is given, the struct
member names are used as keys for lookups in <data>; the found
data is assigned to the struct members.
Since the returned struct can't be known at compile time, the
efun is declared to return 'mixed'.
HISTORY:
Introduced in LDMud 3.3.250 .
LDMud 3.3.344 added the template argument.
LDMud 3.3.433 added the conversion from mappings.
SEE ALSO:
to_array(E), to_string(E), mkmapping(E), structs(LPC)
UNItopia (mudadm@UNItopia.de)