[−][src]Struct cache_2q::OccupiedEntry
Implementations
impl<'a, K: 'a + Eq + Hash, V: 'a, S: 'a + BuildHasher> OccupiedEntry<'a, K, V, S>
[src]
pub fn key(&self) -> &K
[src]
Gets a reference to the key in the entry.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); match cache.entry("poneyland") { Entry::Vacant(_) => { panic!("Should be occupied"); }, Entry::Occupied(occupied) => { assert_eq!(occupied.key(), &"poneyland"); }, }
pub fn get(&self) -> &V
[src]
Gets a reference to the value in the entry.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); if let Entry::Occupied(o) = cache.entry("poneyland") { assert_eq!(o.get(), &12); } else { panic!("Entry should be occupied"); }
pub fn get_mut(&mut self) -> &mut V
[src]
Gets a mutable reference to the value in the entry.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); assert_eq!(*cache.get("poneyland").unwrap(), 12); if let Entry::Occupied(mut o) = cache.entry("poneyland") { *o.get_mut() += 10; } else { panic!("Entry should be occupied"); } assert_eq!(*cache.get("poneyland").unwrap(), 22);
pub fn into_mut(self) -> &'a mut V
[src]
Converts the OccupiedEntry into a mutable reference to the value in the entry with a lifetime bound to the cache itself.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); assert_eq!(*cache.get("poneyland").unwrap(), 12); if let Entry::Occupied(o) = cache.entry("poneyland") { *o.into_mut() += 10; } else { panic!("Entry should be occupied"); } assert_eq!(*cache.get("poneyland").unwrap(), 22);
pub fn insert(&mut self, value: V) -> V
[src]
Sets the value of the entry, and returns the entry's old value.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); if let Entry::Occupied(mut o) = cache.entry("poneyland") { assert_eq!(o.insert(15), 12); } else { panic!("Entry should be occupied"); } assert_eq!(*cache.get("poneyland").unwrap(), 15);
pub fn remove(self) -> V
[src]
Takes the value out of the entry, and returns it.
Examples
use cache_2q::{Cache, Entry}; let mut cache: Cache<&str, u32> = Cache::new(8); cache.entry("poneyland").or_insert(12); if let Entry::Occupied(o) = cache.entry("poneyland") { assert_eq!(o.remove(), 12); } else { panic!("Entry should be occupied"); } assert_eq!(cache.contains_key("poneyland"), false);
Trait Implementations
impl<'a, K: 'a + Debug + Eq + Hash, V: 'a + Debug, S: 'a + BuildHasher> Debug for OccupiedEntry<'a, K, V, S>
[src]
Auto Trait Implementations
impl<'a, K, V, S> RefUnwindSafe for OccupiedEntry<'a, K, V, S> where
K: RefUnwindSafe,
S: RefUnwindSafe,
V: RefUnwindSafe,
K: RefUnwindSafe,
S: RefUnwindSafe,
V: RefUnwindSafe,
impl<'a, K, V, S = RandomState> !Send for OccupiedEntry<'a, K, V, S>
impl<'a, K, V, S = RandomState> !Sync for OccupiedEntry<'a, K, V, S>
impl<'a, K, V, S> Unpin for OccupiedEntry<'a, K, V, S>
impl<'a, K, V, S> UnwindSafe for OccupiedEntry<'a, K, V, S> where
K: RefUnwindSafe,
S: RefUnwindSafe,
V: RefUnwindSafe,
K: RefUnwindSafe,
S: RefUnwindSafe,
V: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,