yowl 0.1.0

Primitives for reading and writing the SMILES language
Documentation
use std::fmt;

/// Complete and up-to-date set of atomic symbols.
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum Element {
    //  0   1   2   3   4   5   6   7   8   9
    H,
    He,
    Li,
    Be,
    B,
    C,
    N,
    O,
    F, // 0
    Ne,
    Na,
    Mg,
    Al,
    Si,
    P,
    S,
    Cl,
    Ar,
    K, // 1
    Ca,
    Sc,
    Ti,
    V,
    Cr,
    Mn,
    Fe,
    Co,
    Ni,
    Cu, // 2
    Zn,
    Ga,
    Ge,
    As,
    Se,
    Br,
    Kr,
    Rb,
    Sr,
    Y, // 3
    Zr,
    Nb,
    Mo,
    Tc,
    Ru,
    Rh,
    Pd,
    Ag,
    Cd,
    In, // 4
    Sn,
    Sb,
    Te,
    I,
    Xe,
    Cs,
    Ba,
    La,
    Ce,
    Pr, // 5
    Nd,
    Pm,
    Sm,
    Eu,
    Gd,
    Tb,
    Dy,
    Ho,
    Er,
    Tm, // 6
    Yb,
    Lu,
    Hf,
    Ta,
    W,
    Re,
    Os,
    Ir,
    Pt,
    Au, // 7
    Hg,
    Tl,
    Pb,
    Bi,
    Po,
    At,
    Rn,
    Fr,
    Ra,
    Ac, // 8
    Th,
    Pa,
    U,
    Np,
    Pu,
    Am,
    Cm,
    Bk,
    Cf,
    Es, // 9
    Fm,
    Md,
    No,
    Lr,
    Rf,
    Db,
    Sg,
    Bh,
    Hs,
    Mt, // 10
    Ds,
    Rg,
    Cn,
    Nh,
    Fl,
    Mc,
    Lv,
    Ts,
    Og, // 11
    Uun,
    Uuu,
    Uub,
    Uut,
    Uuq,
    Uup,
    Uuh,
    Uus,
    Uuo,
}

impl fmt::Display for Element {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(
            f,
            "{}",
            match self {
                Self::Ac => "Ac",
                Self::Ag => "Ag",
                Self::Al => "Al",
                Self::Am => "Am",
                Self::Ar => "Ar",
                Self::As => "As",
                Self::At => "At",
                Self::Au => "Au",
                Self::B => "B",
                Self::Ba => "Ba",
                Self::Be => "Be",
                Self::Bh => "Bh",
                Self::Bi => "Bi",
                Self::Bk => "Bk",
                Self::Br => "Br",
                Self::C => "C",
                Self::Ca => "Ca",
                Self::Cd => "Cd",
                Self::Ce => "Ce",
                Self::Cf => "Cf",
                Self::Cl => "Cl",
                Self::Cm => "Cm",
                Self::Cn => "Cn",
                Self::Co => "Co",
                Self::Cr => "Cr",
                Self::Cs => "Cs",
                Self::Cu => "Cu",
                Self::Db => "Db",
                Self::Ds => "Ds",
                Self::Dy => "Dy",
                Self::Er => "Er",
                Self::Es => "Es",
                Self::Eu => "Eu",
                Self::F => "F",
                Self::Fe => "Fe",
                Self::Fl => "Fl",
                Self::Fm => "Fm",
                Self::Fr => "Fr",
                Self::Ga => "Ga",
                Self::Gd => "Gd",
                Self::Ge => "Ge",
                Self::H => "H",
                Self::He => "He",
                Self::Hf => "Hf",
                Self::Hg => "Hg",
                Self::Ho => "Ho",
                Self::Hs => "Hs",
                Self::I => "I",
                Self::In => "In",
                Self::Ir => "Ir",
                Self::K => "K",
                Self::Kr => "Kr",
                Self::La => "La",
                Self::Li => "Li",
                Self::Lr => "Lr",
                Self::Lu => "Lu",
                Self::Lv => "Lv",
                Self::Mc => "Mc",
                Self::Md => "Md",
                Self::Mg => "Mg",
                Self::Mn => "Mn",
                Self::Mo => "Mo",
                Self::Mt => "Mt",
                Self::Na => "Na",
                Self::Nb => "Nb",
                Self::Nd => "Nd",
                Self::N => "N",
                Self::Ne => "Ne",
                Self::Nh => "Nh",
                Self::Ni => "Ni",
                Self::No => "No",
                Self::Np => "Np",
                Self::O => "O",
                Self::Os => "Os",
                Self::Og => "Og",
                Self::P => "P",
                Self::Pa => "Pa",
                Self::Pb => "Pb",
                Self::Pd => "Pd",
                Self::Pm => "Pm",
                Self::Po => "Po",
                Self::Pr => "Pr",
                Self::Pt => "Pt",
                Self::Pu => "Pu",
                Self::Ra => "Ra",
                Self::Rb => "Rb",
                Self::Re => "Re",
                Self::Rf => "Rf",
                Self::Rg => "Rg",
                Self::Rh => "Rh",
                Self::Rn => "Rn",
                Self::Ru => "Ru",
                Self::S => "S",
                Self::Sb => "Sb",
                Self::Sc => "Sc",
                Self::Se => "Se",
                Self::Sg => "Sg",
                Self::Si => "Si",
                Self::Sm => "Sm",
                Self::Sn => "Sn",
                Self::Sr => "Sr",
                Self::Ta => "Ta",
                Self::Tb => "Tb",
                Self::Tc => "Tc",
                Self::Te => "Te",
                Self::Th => "Th",
                Self::Ti => "Ti",
                Self::Tl => "Tl",
                Self::Tm => "Tm",
                Self::Ts => "Ts",
                Self::U => "U",
                Self::V => "V",
                Self::W => "W",
                Self::Xe => "Xe",
                Self::Y => "Y",
                Self::Yb => "Yb",
                Self::Zn => "Zn",
                Self::Zr => "Zr",
                Self::Uun => "Uun",
                Self::Uuu => "Uuu",
                Self::Uub => "Uub",
                Self::Uut => "Uut",
                Self::Uuq => "Uuq",
                Self::Uup => "Uup",
                Self::Uuh => "Uuh",
                Self::Uus => "Uus",
                Self::Uuo => "Uuo",
            }
        )
    }
}