Trait enum_collections::Enumerated
source · pub trait Enumerated: Sized + 'static {
const VARIANTS: &'static [Self];
// Required method
fn position(self) -> usize;
}Expand description
Provides means to map enum values to positions in arrays backing an EnumMap/EnumTable.
Not intended to be implemented by hand. Deriving it with #[derive(Enumerated)]
attribute macro is preferred.
use enum_collections::Enumerated;
#[derive(Enumerated)]
enum Letter {
A,
B,
}
assert_eq!(Letter::VARIANTS.len(), 2);Required Associated Constants§
Required Methods§
Object Safety§
This trait is not object safe.