Enum anymap2::Entry[][src]

pub enum Entry<'a, A: ?Sized + UncheckedAnyExt, V: 'a> {
    Occupied(OccupiedEntry<'a, A, V>),
    Vacant(VacantEntry<'a, A, V>),
}

A view into a single location in an Map, which may be vacant or occupied.

Variants

Occupied(OccupiedEntry<'a, A, V>)

An occupied Entry

Vacant(VacantEntry<'a, A, V>)

A vacant Entry

Implementations

impl<'a, A: ?Sized + UncheckedAnyExt, V: IntoBox<A>> Entry<'a, A, V>[src]

pub fn or_insert(self, default: V) -> &'a mut V[src]

Ensures a value is in the entry by inserting the default if empty, and returns a mutable reference to the value in the entry.

pub fn or_insert_with<F: FnOnce() -> V>(self, default: F) -> &'a mut V[src]

Ensures a value is in the entry by inserting the result of the default function if empty, and returns a mutable reference to the value in the entry.

impl<'a, A: ?Sized + UncheckedAnyExt, V: Default + IntoBox<A>> Entry<'a, A, V>[src]

pub fn or_default(self) -> &'a mut V[src]

Ensures a value is in the entry by inserting the default value if empty, and returns a mutable reference to the value in the entry.

Examples

let mut data = AnyMap::new();
{
    let r = data.entry::<i32>().or_default();
    assert_eq!(r, &mut 0);
    *r = 1;
}
assert_eq!(data.get(), Some(&1));
assert_eq!(data.entry::<i32>().or_default(), &mut 1);

Auto Trait Implementations

impl<'a, A: ?Sized, V> RefUnwindSafe for Entry<'a, A, V> where
    A: RefUnwindSafe,
    V: RefUnwindSafe

impl<'a, A: ?Sized, V> Send for Entry<'a, A, V> where
    A: Send,
    V: Send

impl<'a, A: ?Sized, V> Sync for Entry<'a, A, V> where
    A: Sync,
    V: Sync

impl<'a, A: ?Sized, V> Unpin for Entry<'a, A, V> where
    V: Unpin

impl<'a, A, V> !UnwindSafe for Entry<'a, A, V>

Blanket Implementations

impl<T> Any for T where
    T: Any
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.