use super::GroupFilter; #[derive(Default, Clone)] pub struct GroupedByTerm { pub short: T, pub long: T, } impl GroupedByTerm { pub fn as_mut_vec(&mut self) -> [&mut T; 2] { [&mut self.short, &mut self.long] } } impl GroupedByTerm<(GroupFilter, T)> { pub fn vecs(&self) -> [&T; 2] { [&self.short.1, &self.long.1] } } impl From> for GroupedByTerm<(GroupFilter, T)> { fn from(value: GroupedByTerm) -> Self { Self { short: (GroupFilter::To(5 * 30), value.short), long: (GroupFilter::From(5 * 30), value.long), } } }