Expand description
§gratte (a strum fork)
gratte is a fork of strum. It defines a set of
macros and traits for working with enums and strings easier in Rust.
This crate only contains derive macros for use with the gratte
crate. The macros provided by this crate are available by enabling the derive feature
in the aforementioned gratte crate (which it is by default).
Derive Macros§
- AsRef
Str - Converts enum variants to
&'a str, where'ais the lifetime of the input enum reference. - Display
- Converts enum variants to strings.
- Enum
Count - Add a constant
usizeequal to the number of variants. - Enum
Discriminants - Generate a new type with only the discriminant names.
- EnumIs
- Generated
is_*()methods for each variant. E.g.Color.is_red(). - Enum
Iter - Creates a new type that iterates over the variants of an enum.
- Enum
Message - Add a verbose message to an enum variant.
- Enum
Property - Add custom properties to enum variants.
- Enum
String - Converts strings to enum variants based on their name.
- Enum
TryAs - Generated
try_as_*()methods for all tuple-style variants. E.g.Message.try_as_write(). - From
Repr - Add a function to enum that allows accessing variants by its discriminant
- Into
Static Str - Implements
From<MyEnum> for &'static stron an enum. - Variant
Array - Adds a
'staticslice with all the Enum’s variants. - Variant
Names - Implements
gratte::VariantNameswhich adds an associated constantVARIANTSwhich is a'staticslice of discriminant names.