pub struct Map<K, V>{ /* private fields */ }
Expand description
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.
Implementations§
source§impl<K, V> Map<K, V>
impl<K, V> Map<K, V>
sourcepub fn get<C: Comparator<K>>(
&self,
key: K,
forest: &MapForest<K, V>,
comp: &C,
) -> Option<V>
pub fn get<C: Comparator<K>>( &self, key: K, forest: &MapForest<K, V>, comp: &C, ) -> Option<V>
Get the value stored for key
.
sourcepub fn get_or_less<C: Comparator<K>>(
&self,
key: K,
forest: &MapForest<K, V>,
comp: &C,
) -> Option<(K, V)>
pub fn get_or_less<C: Comparator<K>>( &self, key: K, forest: &MapForest<K, V>, comp: &C, ) -> Option<(K, V)>
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
.
sourcepub fn insert<C: Comparator<K>>(
&mut self,
key: K,
value: V,
forest: &mut MapForest<K, V>,
comp: &C,
) -> Option<V>
pub fn insert<C: Comparator<K>>( &mut self, key: K, value: V, forest: &mut MapForest<K, V>, comp: &C, ) -> Option<V>
Insert key, value
into the map and return the old value stored for key
, if any.
sourcepub fn remove<C: Comparator<K>>(
&mut self,
key: K,
forest: &mut MapForest<K, V>,
comp: &C,
) -> Option<V>
pub fn remove<C: Comparator<K>>( &mut self, key: K, forest: &mut MapForest<K, V>, comp: &C, ) -> Option<V>
Remove key
from the map and return the removed value for key
, if any.
sourcepub fn retain<F>(&mut self, forest: &mut MapForest<K, V>, predicate: F)
pub fn retain<F>(&mut self, forest: &mut MapForest<K, V>, predicate: F)
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.
Trait Implementations§
Auto Trait Implementations§
impl<K, V> Freeze for Map<K, V>
impl<K, V> RefUnwindSafe for Map<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for Map<K, V>
impl<K, V> Sync for Map<K, V>
impl<K, V> Unpin for Map<K, V>
impl<K, V> UnwindSafe for Map<K, V>where
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)