pub struct RangeSet<T> { /* private fields */ }
Expand description
A set to control intervals.
Implementations§
Source§impl<T> RangeSet<T>
impl<T> RangeSet<T>
Sourcepub fn get_range(&self, key: &T) -> Option<&(T, T)>
pub fn get_range(&self, key: &T) -> Option<&(T, T)>
Returns the range corresponding to the key.
Sourcepub fn insert_with<F>(&mut self, range: (T, T), f: F)
pub fn insert_with<F>(&mut self, range: (T, T), f: F)
Insert and operate old range.
Sourcepub fn get_left_if<F>(&self, key: &T, pred: F) -> Option<&(T, T)>
pub fn get_left_if<F>(&self, key: &T, pred: F) -> Option<&(T, T)>
Get a left neighboring range of [key, key)
if the predicate is satisfied.
Sourcepub fn get_right_if<F>(&self, key: &T, pred: F) -> Option<&(T, T)>
pub fn get_right_if<F>(&self, key: &T, pred: F) -> Option<&(T, T)>
Get a right neighboring range of [key, key)
if the predicate is satisfied.
Sourcepub fn pop_left_if<F>(&mut self, key: &T, pred: F) -> Option<(T, T)>
pub fn pop_left_if<F>(&mut self, key: &T, pred: F) -> Option<(T, T)>
Pop a left neighboring range of [key, key)
if the predicate is satisfied.
Sourcepub fn pop_right_if<F>(&mut self, key: &T, pred: F) -> Option<(T, T)>
pub fn pop_right_if<F>(&mut self, key: &T, pred: F) -> Option<(T, T)>
Pop a right neighboring range of [key, key)
if the predicate is satisfied.
Sourcepub fn drain_with<F>(&mut self, range: (T, T), f: F)
pub fn drain_with<F>(&mut self, range: (T, T), f: F)
Operate and consume in range.
pub fn iter(&self) -> Keys<'_, (T, T), ()>
Trait Implementations§
Source§impl<K> Extend<(K, K)> for RangeSet<K>
impl<K> Extend<(K, K)> for RangeSet<K>
Source§fn extend<T: IntoIterator<Item = (K, K)>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = (K, K)>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one
)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
Auto Trait Implementations§
impl<T> Freeze for RangeSet<T>
impl<T> RefUnwindSafe for RangeSet<T>where
T: RefUnwindSafe,
impl<T> Send for RangeSet<T>where
T: Send,
impl<T> Sync for RangeSet<T>where
T: Sync,
impl<T> Unpin for RangeSet<T>
impl<T> UnwindSafe for RangeSet<T>where
T: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more