Skip to main content

NodeLike

Trait NodeLike 

Source
pub trait NodeLike<T: Ord> {
Show 17 methods // Required methods fn with_capacity(capacity: usize) -> Self; fn get_ith(&self, index: usize) -> Option<&T>; fn halve(&mut self) -> Self; fn need_to_split(&self, border: usize, value: &T) -> bool; fn len(&self) -> usize; fn capacity(&self) -> usize; fn insert(&mut self, value: T) -> (bool, usize); fn contains<Q: Ord + ?Sized>(&self, value: &Q) -> bool where T: Borrow<Q>; fn try_select<Q: Ord + ?Sized>(&self, value: &Q) -> Option<usize> where T: Borrow<Q>; fn rank<Q: Ord + ?Sized>( &self, bound: Bound<&Q>, from_start: bool, ) -> Option<usize> where T: Borrow<Q>; fn delete<Q: Ord + ?Sized>(&mut self, value: &Q) -> Option<(T, usize)> where T: Borrow<Q>; fn delete_at(&mut self, index: usize) -> Option<T>; fn replace(&mut self, idx: usize, value: T) -> Option<T>; fn max(&self) -> Option<&T>; fn min(&self) -> Option<&T>; fn iter<'a>(&'a self) -> Iter<'a, T> where T: 'a; // Provided method fn is_empty(&self) -> bool { ... }
}

Required Methods§

Source

fn with_capacity(capacity: usize) -> Self

Source

fn get_ith(&self, index: usize) -> Option<&T>

Source

fn halve(&mut self) -> Self

Source

fn need_to_split(&self, border: usize, value: &T) -> bool

Source

fn len(&self) -> usize

Source

fn capacity(&self) -> usize

Source

fn insert(&mut self, value: T) -> (bool, usize)

Source

fn contains<Q: Ord + ?Sized>(&self, value: &Q) -> bool
where T: Borrow<Q>,

Source

fn try_select<Q: Ord + ?Sized>(&self, value: &Q) -> Option<usize>
where T: Borrow<Q>,

Must return Some(i) exactly when Self::contains is true, with get_ith(i) equal to the requested value.

Source

fn rank<Q: Ord + ?Sized>( &self, bound: Bound<&Q>, from_start: bool, ) -> Option<usize>
where T: Borrow<Q>,

Source

fn delete<Q: Ord + ?Sized>(&mut self, value: &Q) -> Option<(T, usize)>
where T: Borrow<Q>,

Source

fn delete_at(&mut self, index: usize) -> Option<T>

Source

fn replace(&mut self, idx: usize, value: T) -> Option<T>

Source

fn max(&self) -> Option<&T>

Source

fn min(&self) -> Option<&T>

Source

fn iter<'a>(&'a self) -> Iter<'a, T>
where T: 'a,

Provided Methods§

Source

fn is_empty(&self) -> bool

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: Ord> NodeLike<T> for Vec<T>

Source§

fn with_capacity(capacity: usize) -> Self

Source§

fn get_ith(&self, index: usize) -> Option<&T>

Source§

fn halve(&mut self) -> Self

Source§

fn need_to_split(&self, border: usize, _: &T) -> bool

Source§

fn len(&self) -> usize

Source§

fn capacity(&self) -> usize

Source§

fn insert(&mut self, value: T) -> (bool, usize)

Source§

fn contains<Q>(&self, value: &Q) -> bool
where T: Borrow<Q> + Ord, Q: Ord + ?Sized,

Source§

fn try_select<Q>(&self, value: &Q) -> Option<usize>
where T: Borrow<Q> + Ord, Q: Ord + ?Sized,

Source§

fn rank<Q>(&self, bound: Bound<&Q>, from_start: bool) -> Option<usize>
where T: Borrow<Q> + Ord, Q: Ord + ?Sized,

Source§

fn delete<Q>(&mut self, value: &Q) -> Option<(T, usize)>
where T: Borrow<Q> + Ord, Q: Ord + ?Sized,

Source§

fn delete_at(&mut self, index: usize) -> Option<T>

Source§

fn replace(&mut self, idx: usize, value: T) -> Option<T>

Source§

fn max(&self) -> Option<&T>

Source§

fn min(&self) -> Option<&T>

Source§

fn iter<'a>(&'a self) -> Iter<'a, T>
where T: 'a,

Implementors§