segment-map 0.1.1

A self-balancing binary search tree for mapping discrete, disjoint segments to values.
Documentation
pub trait Next: Clone + PartialOrd {
    fn next_checked(&self) -> Option<Self>;
    fn next_unchecked(&self) -> Self { self.next_checked().expect("overflow") }
}

impl Next for usize {
    fn next_checked(&self) -> Option<usize> { self.checked_add(1) }
}

impl Next for u8 {
    fn next_checked(&self) -> Option<u8> { self.checked_add(1) }
}

impl Next for u16 {
    fn next_checked(&self) -> Option<u16> { self.checked_add(1) }
}

impl Next for u32 {
    fn next_checked(&self) -> Option<u32> { self.checked_add(1) }
}

impl Next for u64 {
    fn next_checked(&self) -> Option<u64> { self.checked_add(1) }
}

impl Next for u128 {
    fn next_checked(&self) -> Option<u128> { self.checked_add(1) }
}

impl Next for isize {
    fn next_checked(&self) -> Option<isize> { self.checked_add(1) }
}

impl Next for i8 {
    fn next_checked(&self) -> Option<i8> { self.checked_add(1) }
}

impl Next for i16 {
    fn next_checked(&self) -> Option<i16> { self.checked_add(1) }
}

impl Next for i32 {
    fn next_checked(&self) -> Option<i32> { self.checked_add(1) }
}

impl Next for i64 {
    fn next_checked(&self) -> Option<i64> { self.checked_add(1) }
}

impl Next for i128 {
    fn next_checked(&self) -> Option<i128> { self.checked_add(1) }
}