Skip to main content

use_bond/
bond_strength.rs

1use std::fmt;
2
3/// A lightweight bond strength label.
4#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub enum BondStrength {
6    /// Weak bond or interaction.
7    Weak,
8    /// Moderate bond or interaction.
9    Moderate,
10    /// Strong bond or interaction.
11    Strong,
12    /// Very strong bond or interaction.
13    VeryStrong,
14    /// Unknown or intentionally unspecified bond strength.
15    Unknown,
16}
17
18impl fmt::Display for BondStrength {
19    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
20        let value = match self {
21            Self::Weak => "weak",
22            Self::Moderate => "moderate",
23            Self::Strong => "strong",
24            Self::VeryStrong => "very strong",
25            Self::Unknown => "unknown",
26        };
27
28        formatter.write_str(value)
29    }
30}