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)