castep_param_io/param/general/
charge_unit.rs1use std::fmt::{Display, Write};
2
3use castep_param_derive::KeywordDisplay;
4use serde::{Deserialize, Serialize};
5
6
7#[derive(
8 Debug,
9 Clone,
10 Copy,
11 Default,
12 Hash,
13 PartialEq,
14 Eq,
15 PartialOrd,
16 Ord,
17 Serialize,
18 Deserialize,
19 KeywordDisplay,
20)]
21#[keyword_display(field = "CHARGE_UNIT", direct_display = false)]
22pub enum ChargeUnit {
23 #[default]
24 E,
25 C,
26}
27
28impl Display for ChargeUnit {
29 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
30 match self {
31 ChargeUnit::E => f.write_char('e'),
32 ChargeUnit::C => f.write_char('c'),
33 }
34 }
35}