Trait jmdict_enums::Enum[][src]

pub trait Enum: Sized {
    fn all_variants() -> &'static [Self];
fn code(&self) -> &'static str;
fn from_code(code: &str) -> Option<Self>;
fn constant_name(&self) -> &'static str;
fn from_constant_name(name: &str) -> Option<Self>; }
Expand description

Common methods provided by all enums in this crate.

Required methods

Returns a list of all variant values in this enum. No particular order is guaranteed or implied.

Returns the string that marks this enum variant in the JMdict. For values that JMdict represents as XML entities, only the entity name is returned, e.g. adj-n instead of &adj-n;.

Parses a representation from the JMdict file into a value of this enum. This is the reverse of self.code(), i.e. Self::from_code(self.code()) == Some(self).

Returns the variant name. This is used to generate Rust code for this enum. The impl Display for enums uses this same representation.

Returns the variant that is identified the given name in Rust code, or None if there is no such variant. This is the reverse of self.constant_name(), i.e. Self::from_constant_name(self.constant_name()) == Some(self).