data_structure_traits 0.1.12

data structure collection traits
Documentation
pub trait DequeImmut<T>: Sized {
    fn push_front(&self, T) -> Self;
    fn push_back(&self, T) -> Self;

    fn pop_front(&self) -> Self;
    fn pop_back(&self) -> Self;

    fn front(&self) -> Option<&T>;
    fn back(&self) -> Option<&T>;

    #[inline(always)]
    fn pop_and_front(&self) -> (Self, Option<&T>) {
        (self.pop_front(), self.front())
    }
    #[inline(always)]
    fn pop_and_back(&self) -> (Self, Option<&T>) {
        (self.pop_back(), self.back())
    }
}