#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)]
pub enum Medefaidrin {
CapitalLetterM,
CapitalLetterS,
CapitalLetterV,
CapitalLetterW,
CapitalLetterAtiu,
CapitalLetterZ,
CapitalLetterKp,
CapitalLetterP,
CapitalLetterT,
CapitalLetterG,
CapitalLetterF,
CapitalLetterI,
CapitalLetterK,
CapitalLetterA,
CapitalLetterJ,
CapitalLetterE,
CapitalLetterB,
CapitalLetterC,
CapitalLetterU,
CapitalLetterYu,
CapitalLetterL,
CapitalLetterQ,
CapitalLetterHp,
CapitalLetterNy,
CapitalLetterX,
CapitalLetterD,
CapitalLetterOe,
CapitalLetterN,
CapitalLetterR,
CapitalLetterO,
CapitalLetterAi,
CapitalLetterY,
SmallLetterM,
SmallLetterS,
SmallLetterV,
SmallLetterW,
SmallLetterAtiu,
SmallLetterZ,
SmallLetterKp,
SmallLetterP,
SmallLetterT,
SmallLetterG,
SmallLetterF,
SmallLetterI,
SmallLetterK,
SmallLetterA,
SmallLetterJ,
SmallLetterE,
SmallLetterB,
SmallLetterC,
SmallLetterU,
SmallLetterYu,
SmallLetterL,
SmallLetterQ,
SmallLetterHp,
SmallLetterNy,
SmallLetterX,
SmallLetterD,
SmallLetterOe,
SmallLetterN,
SmallLetterR,
SmallLetterO,
SmallLetterAi,
SmallLetterY,
DigitZero,
DigitOne,
DigitTwo,
DigitThree,
DigitFour,
DigitFive,
DigitSix,
DigitSeven,
DigitEight,
DigitNine,
NumberTen,
NumberEleven,
NumberTwelve,
NumberThirteen,
NumberFourteen,
NumberFifteen,
NumberSixteen,
NumberSeventeen,
NumberEighteen,
NumberNineteen,
DigitOneAlternateForm,
DigitTwoAlternateForm,
DigitThreeAlternateForm,
Comma,
FullStop,
SymbolAiva,
ExclamationOh,
}
impl Into<char> for Medefaidrin {
fn into(self) -> char {
match self {
Medefaidrin::CapitalLetterM => '𖹀',
Medefaidrin::CapitalLetterS => '𖹁',
Medefaidrin::CapitalLetterV => '𖹂',
Medefaidrin::CapitalLetterW => '𖹃',
Medefaidrin::CapitalLetterAtiu => '𖹄',
Medefaidrin::CapitalLetterZ => '𖹅',
Medefaidrin::CapitalLetterKp => '𖹆',
Medefaidrin::CapitalLetterP => '𖹇',
Medefaidrin::CapitalLetterT => '𖹈',
Medefaidrin::CapitalLetterG => '𖹉',
Medefaidrin::CapitalLetterF => '𖹊',
Medefaidrin::CapitalLetterI => '𖹋',
Medefaidrin::CapitalLetterK => '𖹌',
Medefaidrin::CapitalLetterA => '𖹍',
Medefaidrin::CapitalLetterJ => '𖹎',
Medefaidrin::CapitalLetterE => '𖹏',
Medefaidrin::CapitalLetterB => '𖹐',
Medefaidrin::CapitalLetterC => '𖹑',
Medefaidrin::CapitalLetterU => '𖹒',
Medefaidrin::CapitalLetterYu => '𖹓',
Medefaidrin::CapitalLetterL => '𖹔',
Medefaidrin::CapitalLetterQ => '𖹕',
Medefaidrin::CapitalLetterHp => '𖹖',
Medefaidrin::CapitalLetterNy => '𖹗',
Medefaidrin::CapitalLetterX => '𖹘',
Medefaidrin::CapitalLetterD => '𖹙',
Medefaidrin::CapitalLetterOe => '𖹚',
Medefaidrin::CapitalLetterN => '𖹛',
Medefaidrin::CapitalLetterR => '𖹜',
Medefaidrin::CapitalLetterO => '𖹝',
Medefaidrin::CapitalLetterAi => '𖹞',
Medefaidrin::CapitalLetterY => '𖹟',
Medefaidrin::SmallLetterM => '𖹠',
Medefaidrin::SmallLetterS => '𖹡',
Medefaidrin::SmallLetterV => '𖹢',
Medefaidrin::SmallLetterW => '𖹣',
Medefaidrin::SmallLetterAtiu => '𖹤',
Medefaidrin::SmallLetterZ => '𖹥',
Medefaidrin::SmallLetterKp => '𖹦',
Medefaidrin::SmallLetterP => '𖹧',
Medefaidrin::SmallLetterT => '𖹨',
Medefaidrin::SmallLetterG => '𖹩',
Medefaidrin::SmallLetterF => '𖹪',
Medefaidrin::SmallLetterI => '𖹫',
Medefaidrin::SmallLetterK => '𖹬',
Medefaidrin::SmallLetterA => '𖹭',
Medefaidrin::SmallLetterJ => '𖹮',
Medefaidrin::SmallLetterE => '𖹯',
Medefaidrin::SmallLetterB => '𖹰',
Medefaidrin::SmallLetterC => '𖹱',
Medefaidrin::SmallLetterU => '𖹲',
Medefaidrin::SmallLetterYu => '𖹳',
Medefaidrin::SmallLetterL => '𖹴',
Medefaidrin::SmallLetterQ => '𖹵',
Medefaidrin::SmallLetterHp => '𖹶',
Medefaidrin::SmallLetterNy => '𖹷',
Medefaidrin::SmallLetterX => '𖹸',
Medefaidrin::SmallLetterD => '𖹹',
Medefaidrin::SmallLetterOe => '𖹺',
Medefaidrin::SmallLetterN => '𖹻',
Medefaidrin::SmallLetterR => '𖹼',
Medefaidrin::SmallLetterO => '𖹽',
Medefaidrin::SmallLetterAi => '𖹾',
Medefaidrin::SmallLetterY => '𖹿',
Medefaidrin::DigitZero => '𖺀',
Medefaidrin::DigitOne => '𖺁',
Medefaidrin::DigitTwo => '𖺂',
Medefaidrin::DigitThree => '𖺃',
Medefaidrin::DigitFour => '𖺄',
Medefaidrin::DigitFive => '𖺅',
Medefaidrin::DigitSix => '𖺆',
Medefaidrin::DigitSeven => '𖺇',
Medefaidrin::DigitEight => '𖺈',
Medefaidrin::DigitNine => '𖺉',
Medefaidrin::NumberTen => '𖺊',
Medefaidrin::NumberEleven => '𖺋',
Medefaidrin::NumberTwelve => '𖺌',
Medefaidrin::NumberThirteen => '𖺍',
Medefaidrin::NumberFourteen => '𖺎',
Medefaidrin::NumberFifteen => '𖺏',
Medefaidrin::NumberSixteen => '𖺐',
Medefaidrin::NumberSeventeen => '𖺑',
Medefaidrin::NumberEighteen => '𖺒',
Medefaidrin::NumberNineteen => '𖺓',
Medefaidrin::DigitOneAlternateForm => '𖺔',
Medefaidrin::DigitTwoAlternateForm => '𖺕',
Medefaidrin::DigitThreeAlternateForm => '𖺖',
Medefaidrin::Comma => '𖺗',
Medefaidrin::FullStop => '𖺘',
Medefaidrin::SymbolAiva => '𖺙',
Medefaidrin::ExclamationOh => '𖺚',
}
}
}
impl std::convert::TryFrom<char> for Medefaidrin {
type Error = ();
fn try_from(c: char) -> Result<Self, Self::Error> {
match c {
'𖹀' => Ok(Medefaidrin::CapitalLetterM),
'𖹁' => Ok(Medefaidrin::CapitalLetterS),
'𖹂' => Ok(Medefaidrin::CapitalLetterV),
'𖹃' => Ok(Medefaidrin::CapitalLetterW),
'𖹄' => Ok(Medefaidrin::CapitalLetterAtiu),
'𖹅' => Ok(Medefaidrin::CapitalLetterZ),
'𖹆' => Ok(Medefaidrin::CapitalLetterKp),
'𖹇' => Ok(Medefaidrin::CapitalLetterP),
'𖹈' => Ok(Medefaidrin::CapitalLetterT),
'𖹉' => Ok(Medefaidrin::CapitalLetterG),
'𖹊' => Ok(Medefaidrin::CapitalLetterF),
'𖹋' => Ok(Medefaidrin::CapitalLetterI),
'𖹌' => Ok(Medefaidrin::CapitalLetterK),
'𖹍' => Ok(Medefaidrin::CapitalLetterA),
'𖹎' => Ok(Medefaidrin::CapitalLetterJ),
'𖹏' => Ok(Medefaidrin::CapitalLetterE),
'𖹐' => Ok(Medefaidrin::CapitalLetterB),
'𖹑' => Ok(Medefaidrin::CapitalLetterC),
'𖹒' => Ok(Medefaidrin::CapitalLetterU),
'𖹓' => Ok(Medefaidrin::CapitalLetterYu),
'𖹔' => Ok(Medefaidrin::CapitalLetterL),
'𖹕' => Ok(Medefaidrin::CapitalLetterQ),
'𖹖' => Ok(Medefaidrin::CapitalLetterHp),
'𖹗' => Ok(Medefaidrin::CapitalLetterNy),
'𖹘' => Ok(Medefaidrin::CapitalLetterX),
'𖹙' => Ok(Medefaidrin::CapitalLetterD),
'𖹚' => Ok(Medefaidrin::CapitalLetterOe),
'𖹛' => Ok(Medefaidrin::CapitalLetterN),
'𖹜' => Ok(Medefaidrin::CapitalLetterR),
'𖹝' => Ok(Medefaidrin::CapitalLetterO),
'𖹞' => Ok(Medefaidrin::CapitalLetterAi),
'𖹟' => Ok(Medefaidrin::CapitalLetterY),
'𖹠' => Ok(Medefaidrin::SmallLetterM),
'𖹡' => Ok(Medefaidrin::SmallLetterS),
'𖹢' => Ok(Medefaidrin::SmallLetterV),
'𖹣' => Ok(Medefaidrin::SmallLetterW),
'𖹤' => Ok(Medefaidrin::SmallLetterAtiu),
'𖹥' => Ok(Medefaidrin::SmallLetterZ),
'𖹦' => Ok(Medefaidrin::SmallLetterKp),
'𖹧' => Ok(Medefaidrin::SmallLetterP),
'𖹨' => Ok(Medefaidrin::SmallLetterT),
'𖹩' => Ok(Medefaidrin::SmallLetterG),
'𖹪' => Ok(Medefaidrin::SmallLetterF),
'𖹫' => Ok(Medefaidrin::SmallLetterI),
'𖹬' => Ok(Medefaidrin::SmallLetterK),
'𖹭' => Ok(Medefaidrin::SmallLetterA),
'𖹮' => Ok(Medefaidrin::SmallLetterJ),
'𖹯' => Ok(Medefaidrin::SmallLetterE),
'𖹰' => Ok(Medefaidrin::SmallLetterB),
'𖹱' => Ok(Medefaidrin::SmallLetterC),
'𖹲' => Ok(Medefaidrin::SmallLetterU),
'𖹳' => Ok(Medefaidrin::SmallLetterYu),
'𖹴' => Ok(Medefaidrin::SmallLetterL),
'𖹵' => Ok(Medefaidrin::SmallLetterQ),
'𖹶' => Ok(Medefaidrin::SmallLetterHp),
'𖹷' => Ok(Medefaidrin::SmallLetterNy),
'𖹸' => Ok(Medefaidrin::SmallLetterX),
'𖹹' => Ok(Medefaidrin::SmallLetterD),
'𖹺' => Ok(Medefaidrin::SmallLetterOe),
'𖹻' => Ok(Medefaidrin::SmallLetterN),
'𖹼' => Ok(Medefaidrin::SmallLetterR),
'𖹽' => Ok(Medefaidrin::SmallLetterO),
'𖹾' => Ok(Medefaidrin::SmallLetterAi),
'𖹿' => Ok(Medefaidrin::SmallLetterY),
'𖺀' => Ok(Medefaidrin::DigitZero),
'𖺁' => Ok(Medefaidrin::DigitOne),
'𖺂' => Ok(Medefaidrin::DigitTwo),
'𖺃' => Ok(Medefaidrin::DigitThree),
'𖺄' => Ok(Medefaidrin::DigitFour),
'𖺅' => Ok(Medefaidrin::DigitFive),
'𖺆' => Ok(Medefaidrin::DigitSix),
'𖺇' => Ok(Medefaidrin::DigitSeven),
'𖺈' => Ok(Medefaidrin::DigitEight),
'𖺉' => Ok(Medefaidrin::DigitNine),
'𖺊' => Ok(Medefaidrin::NumberTen),
'𖺋' => Ok(Medefaidrin::NumberEleven),
'𖺌' => Ok(Medefaidrin::NumberTwelve),
'𖺍' => Ok(Medefaidrin::NumberThirteen),
'𖺎' => Ok(Medefaidrin::NumberFourteen),
'𖺏' => Ok(Medefaidrin::NumberFifteen),
'𖺐' => Ok(Medefaidrin::NumberSixteen),
'𖺑' => Ok(Medefaidrin::NumberSeventeen),
'𖺒' => Ok(Medefaidrin::NumberEighteen),
'𖺓' => Ok(Medefaidrin::NumberNineteen),
'𖺔' => Ok(Medefaidrin::DigitOneAlternateForm),
'𖺕' => Ok(Medefaidrin::DigitTwoAlternateForm),
'𖺖' => Ok(Medefaidrin::DigitThreeAlternateForm),
'𖺗' => Ok(Medefaidrin::Comma),
'𖺘' => Ok(Medefaidrin::FullStop),
'𖺙' => Ok(Medefaidrin::SymbolAiva),
'𖺚' => Ok(Medefaidrin::ExclamationOh),
_ => Err(()),
}
}
}
impl Into<u32> for Medefaidrin {
fn into(self) -> u32 {
let c: char = self.into();
let hex = c
.escape_unicode()
.to_string()
.replace("\\u{", "")
.replace("}", "");
u32::from_str_radix(&hex, 16).unwrap()
}
}
impl std::convert::TryFrom<u32> for Medefaidrin {
type Error = ();
fn try_from(u: u32) -> Result<Self, Self::Error> {
if let Ok(c) = char::try_from(u) {
Self::try_from(c)
} else {
Err(())
}
}
}
impl Iterator for Medefaidrin {
type Item = Self;
fn next(&mut self) -> Option<Self> {
let index: u32 = (*self).into();
use std::convert::TryFrom;
Self::try_from(index + 1).ok()
}
}
impl Medefaidrin {
pub fn new() -> Self {
Medefaidrin::CapitalLetterM
}
pub fn name(&self) -> String {
let s = std::format!("Medefaidrin{:#?}", self);
string_morph::to_sentence_case(&s)
}
}