[][src]Struct cranelift_bforest::Map

pub struct Map<K, V> where
    K: Copy,
    V: Copy
{ /* fields omitted */ }

B-tree mapping from K to V.

This is not a general-purpose replacement for BTreeMap. See the module documentation for more information about design tradeoffs.

Maps can be cloned, but that operation should only be used as part of cloning the whole forest they belong to. Cloning a map does not allocate new memory for the clone. It creates an alias of the same memory.

Methods

impl<K, V> Map<K, V> where
    K: Copy,
    V: Copy
[src]

pub fn new() -> Self[src]

Make an empty map.

pub fn is_empty(&self) -> bool[src]

Is this an empty map?

pub fn get<C: Comparator<K>>(
    &self,
    key: K,
    forest: &MapForest<K, V>,
    comp: &C
) -> Option<V>
[src]

Get the value stored for key.

pub fn get_or_less<C: Comparator<K>>(
    &self,
    key: K,
    forest: &MapForest<K, V>,
    comp: &C
) -> Option<(K, V)>
[src]

Look up the value stored for key.

If it exists, return the stored key-value pair.

Otherwise, return the last key-value pair with a key that is less than or equal to key.

If no stored keys are less than or equal to key, return None.

pub fn insert<C: Comparator<K>>(
    &mut self,
    key: K,
    value: V,
    forest: &mut MapForest<K, V>,
    comp: &C
) -> Option<V>
[src]

Insert key, value into the map and return the old value stored for key, if any.

pub fn remove<C: Comparator<K>>(
    &mut self,
    key: K,
    forest: &mut MapForest<K, V>,
    comp: &C
) -> Option<V>
[src]

Remove key from the map and return the removed value for key, if any.

pub fn clear(&mut self, forest: &mut MapForest<K, V>)[src]

Remove all entries.

pub fn retain<F>(&mut self, forest: &mut MapForest<K, V>, predicate: F) where
    F: FnMut(K, &mut V) -> bool, 
[src]

Retains only the elements specified by the predicate.

Remove all key-value pairs where the predicate returns false.

The predicate is allowed to update the values stored in the map.

pub fn cursor<'a, C: Comparator<K>>(
    &'a mut self,
    forest: &'a mut MapForest<K, V>,
    comp: &'a C
) -> MapCursor<'a, K, V, C>
[src]

Create a cursor for navigating this map. The cursor is initially positioned off the end of the map.

Important traits for MapIter<'a, K, V>
pub fn iter<'a>(&'a self, forest: &'a MapForest<K, V>) -> MapIter<'a, K, V>[src]

Create an iterator traversing this map. The iterator type is (K, V).

Trait Implementations

impl<K: Clone, V: Clone> Clone for Map<K, V> where
    K: Copy,
    V: Copy
[src]

impl<K, V> Default for Map<K, V> where
    K: Copy,
    V: Copy
[src]

Auto Trait Implementations

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

impl<K, V> Sync for Map<K, V> where
    K: Sync,
    V: Sync

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

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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.