Enum core::ops::Bound 1.17.0[−][src]
pub enum Bound<T> {
Included(T),
Excluded(T),
Unbounded,
}An endpoint of a range of keys.
Examples
Bounds are range endpoints:
use std::ops::Bound::*; use std::ops::RangeBounds; assert_eq!((..100).start_bound(), Unbounded); assert_eq!((1..12).start_bound(), Included(&1)); assert_eq!((1..12).end_bound(), Excluded(&12));Run
Using a tuple of Bounds as an argument to BTreeMap::range.
Note that in most cases, it's better to use range syntax (1..5) instead.
use std::collections::BTreeMap; use std::ops::Bound::{Excluded, Included, Unbounded}; let mut map = BTreeMap::new(); map.insert(3, "a"); map.insert(5, "b"); map.insert(8, "c"); for (key, value) in map.range((Excluded(3), Included(8))) { println!("{}: {}", key, value); } assert_eq!(Some((&3, &"a")), map.range((Unbounded, Included(5))).next());Run
Variants
Included(T)An inclusive bound.
Excluded(T)An exclusive bound.
UnboundedAn infinite endpoint. Indicates that there is no bound in this direction.
Trait Implementations
impl<T: Clone> Clone for Bound<T>[src]
impl<T: Clone> Clone for Bound<T>fn clone(&self) -> Bound<T>[src]
fn clone(&self) -> Bound<T>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0
[src]Performs copy-assignment from source. Read more
impl<T: Copy> Copy for Bound<T>[src]
impl<T: Copy> Copy for Bound<T>impl<T: Debug> Debug for Bound<T>[src]
impl<T: Debug> Debug for Bound<T>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<T: Hash> Hash for Bound<T>[src]
impl<T: Hash> Hash for Bound<T>fn hash<__HT: Hasher>(&self, state: &mut __HT)[src]
fn hash<__HT: Hasher>(&self, state: &mut __HT)Feeds this value into the given [Hasher]. Read more
fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where
Self: Sized, 1.3.0[src]
fn hash_slice<H: Hasher>(data: &[Self], state: &mut H) where
Self: Sized, 1.3.0
[src]Feeds a slice of this type into the given [Hasher]. Read more
impl<T: PartialEq> PartialEq for Bound<T>[src]
impl<T: PartialEq> PartialEq for Bound<T>fn eq(&self, other: &Bound<T>) -> bool[src]
fn eq(&self, other: &Bound<T>) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Bound<T>) -> bool[src]
fn ne(&self, other: &Bound<T>) -> boolThis method tests for !=.
impl<T: Eq> Eq for Bound<T>[src]
impl<T: Eq> Eq for Bound<T>