1use std::fmt;
2
3#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub enum IonKind {
6 Monatomic,
8 Polyatomic,
10 Cation,
12 Anion,
14 RadicalIon,
16 Zwitterion,
18 ComplexIon,
20 Unknown,
22}
23
24impl fmt::Display for IonKind {
25 fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
26 let value = match self {
27 Self::Monatomic => "monatomic",
28 Self::Polyatomic => "polyatomic",
29 Self::Cation => "cation",
30 Self::Anion => "anion",
31 Self::RadicalIon => "radical ion",
32 Self::Zwitterion => "zwitterion",
33 Self::ComplexIon => "complex ion",
34 Self::Unknown => "unknown",
35 };
36
37 formatter.write_str(value)
38 }
39}