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)