Struct abi_stable::std_types::map::ROccupiedEntry [−][src]
#[repr(C)]pub struct ROccupiedEntry<'a, K, V> { /* fields omitted */ }
Expand description
A handle into an occupied entry in a map.
Implementations
Gets a reference to the key of the entry.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<u32, u32>::new();
map.insert(0, 100);
match map.entry(0) {
REntry::Occupied(entry) => {
assert_eq!(entry.key(), &0);
}
REntry::Vacant(_) => unreachable!(),
};
Gets a reference to the value in the entry.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<u32, u32>::new();
map.insert(6, 15);
match map.entry(6) {
REntry::Occupied(entry) => {
assert_eq!(entry.get(), &15);
}
REntry::Vacant(_) => unreachable!(),
};
Gets a mutable reference to the value in the entry.
To borrow with the lifetime of the map, use ROccupiedEntry::into_mut
.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<u32, u32>::new();
map.insert(6, 15);
match map.entry(6) {
REntry::Occupied(mut entry) => {
assert_eq!(entry.get_mut(), &mut 15);
}
REntry::Vacant(_) => unreachable!(),
};
Gets a mutable reference to the value in the entry,
that borrows with the lifetime of the map instead of
borrowing from this ROccupiedEntry
.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<String, u32>::new();
map.insert("baz".into(), 0xDEAD);
match map.entry("baz".into()) {
REntry::Occupied(entry) => {
assert_eq!(entry.into_mut(), &mut 0xDEAD);
}
REntry::Vacant(_) => unreachable!(),
};
Replaces the current value of the entry with value
, returning the previous value.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<String, u32>::new();
map.insert("baz".into(), 0xD00D);
match map.entry("baz".into()) {
REntry::Occupied(mut entry) => {
assert_eq!(entry.insert(0xDEAD), 0xD00D);
}
REntry::Vacant(_) => {
unreachable!();
}
}
assert_eq!(map.get("baz"), Some(&0xDEAD));
Removes the entry from the map, returns the value.
Example
use abi_stable::std_types::map::{REntry, RHashMap};
let mut map = RHashMap::<String, u32>::new();
map.insert("baz".into(), 0xDEAD);
match map.entry("baz".into()) {
REntry::Occupied(entry) => {
assert_eq!(entry.remove(), 0xDEAD);
}
REntry::Vacant(_) => {
unreachable!();
}
}
assert!(!map.contains_key("baz"));
Trait Implementations
impl<'a, K, V> GetStaticEquivalent_ for ROccupiedEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
impl<'a, K, V> GetStaticEquivalent_ for ROccupiedEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
type StaticEquivalent = _static_ROccupiedEntry<'static, __GetStaticEquivalent<K>, __GetStaticEquivalent<V>>
impl<'a, K, V> StableAbi for ROccupiedEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
impl<'a, K, V> StableAbi for ROccupiedEntry<'a, K, V> where
K: __StableAbi,
V: __StableAbi,
K: 'a,
V: 'a,
type IsNonZeroType = False
type IsNonZeroType = False
Whether this type has a single invalid bit-pattern. Read more
The layout of the type provided by implementors.
const
-equivalents of the associated types.
Auto Trait Implementations
impl<'a, K, V> RefUnwindSafe for ROccupiedEntry<'a, K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<'a, K, V> Sync for ROccupiedEntry<'a, K, V> where
K: Sync,
V: Sync,
impl<'a, K, V> Unpin for ROccupiedEntry<'a, K, V> where
K: Unpin,
impl<'a, K, V> !UnwindSafe for ROccupiedEntry<'a, K, V>
Blanket Implementations
Mutably borrows from an owned value. Read more
type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
This is always WithMetadata_<Self, Self>
Compares the address of self
with the address of other
. Read more
Emulates the pipeline operator, allowing method syntax in more places. Read more
The same as piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read more
The same as piped
, except that the function takes &mut Self
.
Useful for functions that take &mut Self
instead of Self
. Read more
Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more
Observes the value of self, passing it along unmodified. Useful in long method chains. Read more
Performs a conversion with Into
.
using the turbofish .into_::<_>()
syntax. Read more
Performs a reference to reference conversion with AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more
Performs a mutable reference to mutable reference conversion with AsMut
,
using the turbofish .as_mut_::<_>()
syntax. Read more
unsafe fn transmute_element<T>(
self
) -> <Self as CanTransmuteElement<T>>::TransmutedPtr where
Self: CanTransmuteElement<T>,
unsafe fn transmute_element<T>(
self
) -> <Self as CanTransmuteElement<T>>::TransmutedPtr where
Self: CanTransmuteElement<T>,
Transmutes the element type of this pointer.. Read more
type Type = T
type Type = T
This is always Self
.
Converts a value back to the original type.
Converts a mutable reference back to the original type.
alloc
only.Converts a box back to the original type.
Converts a value back to the original type.
Converts a reference back to the original type.
Converts a mutable reference back to the original type.
alloc
only.Converts a box back to the original type.
alloc
only.Converts an Arc back to the original type.
alloc
only.Converts an Rc back to the original type.