use super::*;
#[derive(Debug, Clone, Copy, Eq, Hash, PartialEq)]
pub struct Bracket(Anchor, Anchor);
impl Bracket {
pub fn new(lo: Anchor, hi: Anchor) -> Self {
Self(lo, hi)
}
pub fn lo(&self) -> Anchor {
self.0
}
pub fn hi(&self) -> Anchor {
self.1
}
pub fn is_clamped(&self) -> bool {
self.0 == self.1
}
}
impl From<usize> for Bracket {
fn from(hi: usize) -> Self {
if hi >= 1 {
Self(Anchor::new(hi - 1), Anchor::new(hi))
} else {
panic!("Bracket::from(hi) requires hi >= 1; use Bracket::new for clamped extremes")
}
}
}