Trait enum_collections::Enumerated
source · pub trait Enumerated: Sized + 'static {
const VARIANTS: &'static [Self];
const SIZE: usize = 0usize;
// 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::SIZE, 2);Required Associated Constants§
Provided Associated Constants§
Required Methods§
Object Safety§
This trait is not object safe.