Enum wasmer_types::lib::std::ops::Bound 1.17.0[−][src]
pub enum Bound<T> { Included(T), Excluded(T), Unbounded, }
Expand description
An endpoint of a range of keys.
Examples
Bound
s 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 Bound
s 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
An inclusive bound.
An exclusive bound.
An infinite endpoint. Indicates that there is no bound in this direction.
Implementations
🔬 This is a nightly-only experimental API. (bound_as_ref
)
bound_as_ref
)Converts from &Bound<T>
to Bound<&T>
.
🔬 This is a nightly-only experimental API. (bound_as_ref
)
bound_as_ref
)Converts from &mut Bound<T>
to Bound<&mut T>
.
🔬 This is a nightly-only experimental API. (bound_map
)
bound_map
)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
#![feature(bound_map)] use std::ops::Bound::*; let bound_string = Included("Hello, World!"); assert_eq!(bound_string.map(|s| s.len()), Included(13));
#![feature(bound_map)] use std::ops::Bound; use Bound::*; let unbounded_string: Bound<String> = Unbounded; assert_eq!(unbounded_string.map(|s| s.len()), Unbounded);
🔬 This is a nightly-only experimental API. (bound_cloned
)
bound_cloned
)Map a Bound<&T>
to a Bound<T>
by cloning the contents of the bound.
Examples
#![feature(bound_cloned)] use std::ops::Bound::*; use std::ops::RangeBounds; assert_eq!((1..12).start_bound(), Included(&1)); assert_eq!((1..12).start_bound().cloned(), Included(1));
Trait Implementations
pub fn deserialize<D>(
deserializer: D
) -> Result<Bound<T>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
pub fn deserialize<D>(
deserializer: D
) -> Result<Bound<T>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for Bound<T> where
T: RefUnwindSafe,
impl<T> UnwindSafe for Bound<T> where
T: UnwindSafe,
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.