metrix/instruments/switches/
mod.rs1use std::borrow::Cow;
6
7mod flag;
8mod non_occurrence_indicator;
9mod occurrence_indicator;
10mod staircase_timer;
11
12pub use self::flag::Flag;
13pub use self::non_occurrence_indicator::NonOccurrenceIndicator;
14pub use self::occurrence_indicator::OccurrenceIndicator;
15pub use self::staircase_timer::StaircaseTimer;
16
17#[derive(Debug, Clone)]
19pub enum NameAlternation {
20 Prefix(String),
22 Postfix(String),
24 Rename(String),
26}
27
28impl NameAlternation {
29 fn adjust_name<'a>(&'a self, original: &str) -> Cow<'a, str> {
30 match self {
31 NameAlternation::Rename(s) => Cow::Borrowed(s),
32 NameAlternation::Prefix(s) => Cow::Owned(format!("{}{}", s, original)),
33 NameAlternation::Postfix(s) => Cow::Owned(format!("{}{}", original, s)),
34 }
35 }
36}