Skip to main content

use_reaction/
reaction_direction.rs

1use std::fmt;
2
3/// A lightweight reaction direction label.
4#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub enum ReactionDirection {
6    /// Forward direction.
7    Forward,
8    /// Reverse direction.
9    Reverse,
10    /// Reversible direction.
11    Reversible,
12    /// Equilibrium direction.
13    Equilibrium,
14}
15
16impl fmt::Display for ReactionDirection {
17    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
18        let value = match self {
19            Self::Forward => "forward",
20            Self::Reverse => "reverse",
21            Self::Reversible => "reversible",
22            Self::Equilibrium => "equilibrium",
23        };
24
25        formatter.write_str(value)
26    }
27}