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)