Luna::EnumerationTypeDesc

Describes one enumeration type.

struct Luna::EnumerationTypeDesc

Member objects

  • Guid guid

    The GUID of the enumeration type. This should be unique for every type.

  • Name name

    The name of the enumeration type.

  • Name alias

    The alias of the enumeration type. This can be empty. The alias is used to identify types with the same name. This can be used for generic specialization types.

  • typeinfo_t underlying_type

    The underlying type of the enumeration, which is the type that the enumeration value is stored as. This type must be a primitive integer type.

  • Span options

    A list of options for this enumeration.

  • bool multienum

    Whether this enumeration is a multi-value enumeration. A multi-value enumeration uses one unique bit of the value for every possible option, while a single-value enumeration uses one unique value for every possible option. For example, for one enumeration with u16 underlying type, 16 possible options may present if the enumeration is a multi-value enumeration, and 65536 possible options may present if the enumeration is a noral enumeration.