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
fn all_variants() -> &'static [Self]
fn all_variants() -> &'static [Self]
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)
.
fn constant_name(&self) -> &'static str
fn constant_name(&self) -> &'static str
Returns the variant name. This is used to generate Rust code for this enum. The impl Display
for enums uses this same representation.
fn from_constant_name(name: &str) -> Option<Self>
fn from_constant_name(name: &str) -> Option<Self>
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)
.