[][src]Enum evmap::Operation

#[non_exhaustive]pub enum Operation<K, V> {
    Replace(K, V),
    Add(K, V),
    Remove(K, V),
    Empty(K),
    Clear(K),
    Purge,
    Retain(K, Predicate<V>),
    Fit(Option<K>),
    Reserve(K, usize),
}

A pending map operation.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Replace(K, V)

Replace the set of entries for this key with this value.

Add(K, V)

Add this value to the set of entries for this key.

Remove(K, V)

Remove this value from the set of entries for this key.

Empty(K)

Remove the value set for this key.

Clear(K)

Remove all values in the value set for this key.

Purge

Remove all values for all keys.

Note that this will iterate once over all the keys internally.

Retain(K, Predicate<V>)

Retains all values matching the given predicate.

Fit(Option<K>)

Shrinks Values to their minimum necessary size, freeing memory and potentially improving cache locality.

If no key is given, all Values will shrink to fit.

Reserve(K, usize)

Reserves capacity for some number of additional elements in Values for the given key. If the given key does not exist, allocate an empty Values with the given capacity.

This can improve performance by pre-allocating space for large bags of values.

Trait Implementations

impl<K: Debug, V: Debug> Debug for Operation<K, V>[src]

impl<K: Eq, V: Eq> Eq for Operation<K, V>[src]

impl<K: PartialEq, V: PartialEq> PartialEq<Operation<K, V>> for Operation<K, V>[src]

impl<K, V> StructuralEq for Operation<K, V>[src]

impl<K, V> StructuralPartialEq for Operation<K, V>[src]

Auto Trait Implementations

impl<K, V> !RefUnwindSafe for Operation<K, V>

impl<K, V> Send for Operation<K, V> where
    K: Send,
    V: Send

impl<K, V> !Sync for Operation<K, V>

impl<K, V> Unpin for Operation<K, V> where
    K: Unpin,
    V: Unpin

impl<K, V> !UnwindSafe for Operation<K, V>

Blanket Implementations

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.