pub enum Bound<T> {
Included(T),
Excluded(T),
Unbounded,
}This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Expand description
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));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());Variants§
Included(T)
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
An inclusive bound.
Excluded(T)
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
An exclusive bound.
Unbounded
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
An infinite endpoint. Indicates that there is no bound in this direction.
Implementations§
Source§impl<T> Bound<T>
impl<T> Bound<T>
1.65.0 (const: unstable) · Sourcepub fn as_ref(&self) -> Bound<&T>
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
pub fn as_ref(&self) -> Bound<&T>
Converts from &Bound<T> to Bound<&T>.
Sourcepub const fn as_mut(&mut self) -> Bound<&mut T>
🔬This is a nightly-only experimental API. (bound_as_ref #80996)This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
pub const fn as_mut(&mut self) -> Bound<&mut T>
bound_as_ref #80996)Converts from &mut Bound<T> to Bound<&mut T>.
1.77.0 · Sourcepub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Bound<U>
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Bound<U>
Maps a Bound<T> to a Bound<U> by applying a function to the contained value (including
both Included and Excluded), returning a Bound of the same kind.
§Examples
Source§impl<T: Copy> Bound<&T>
impl<T: Copy> Bound<&T>
Trait Implementations§
1.17.0 (const: unstable) · Source§impl<T: Clone> Clone for Bound<T>
impl<T: Clone> Clone for Bound<T>
Source§fn clone(&self) -> Bound<T>
fn clone(&self) -> Bound<T>
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)where
Self:,
fn clone_from(&mut self, source: &Self)where
Self:,
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Performs copy-assignment from
source. Read moreimpl<T: Copy> Copy for Bound<T>
impl<T: Eq> Eq for Bound<T>
1.17.0 · Source§impl<T: Hash> Hash for Bound<T>
impl<T: Hash> Hash for Bound<T>
1.17.0 (const: unstable) · Source§impl<T: PartialEq> PartialEq for Bound<T>
impl<T: PartialEq> PartialEq for Bound<T>
impl<T: PartialEq> StructuralPartialEq for Bound<T>
Auto Trait Implementations§
impl<T> Freeze for Bound<T>where
T: Freeze,
impl<T> RefUnwindSafe for Bound<T>where
T: RefUnwindSafe,
impl<T> Send for Bound<T>where
T: Send,
impl<T> Sync for Bound<T>where
T: Sync,
impl<T> Unpin for Bound<T>where
T: Unpin,
impl<T> UnsafeUnpin for Bound<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Bound<T>where
T: UnwindSafe,
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
This item is validated for IEC 61508 (SIL 2) and ISO 26262 (ASIL B).
Mutably borrows from an owned value. Read more