brk_state/outputs/
by_term.rs

1use super::OutputFilter;
2
3#[derive(Default, Clone)]
4pub struct OutputsByTerm<T> {
5    pub short: T,
6    pub long: T,
7}
8
9impl<T> OutputsByTerm<T> {
10    pub fn as_mut_vec(&mut self) -> [&mut T; 2] {
11        [&mut self.short, &mut self.long]
12    }
13}
14
15impl<T> OutputsByTerm<(OutputFilter, T)> {
16    pub fn vecs(&self) -> [&T; 2] {
17        [&self.short.1, &self.long.1]
18    }
19}
20
21impl<T> From<OutputsByTerm<T>> for OutputsByTerm<(OutputFilter, T)> {
22    fn from(value: OutputsByTerm<T>) -> Self {
23        Self {
24            short: (OutputFilter::To(5 * 30), value.short),
25            long: (OutputFilter::From(5 * 30), value.long),
26        }
27    }
28}