Trait Map

Source
pub trait Map<'a, K, V>{
    type Error: Error;
    type Iterator: Iterator<Item = (K, V)>;
    type Keys: Iterator<Item = K>;
    type Values: Iterator<Item = V>;

Show 15 methods // Required methods fn contains_key(&self, key: &K) -> Result<bool, Self::Error>; fn get(&self, key: &K) -> Result<Option<V>, Self::Error>; fn get_raw_bytes(&self, key: &K) -> Result<Option<Vec<u8>>, Self::Error>; fn insert(&self, key: &K, value: &V) -> Result<(), Self::Error>; fn remove(&self, key: &K) -> Result<(), Self::Error>; fn clear(&self) -> Result<(), Self::Error>; fn is_empty(&self) -> bool; fn iter(&'a self) -> Self::Iterator; fn keys(&'a self) -> Self::Keys; fn values(&'a self) -> Self::Values; fn try_catch_up_with_primary(&self) -> Result<(), Self::Error>; // Provided methods fn get_or_insert_unsafe<F: FnOnce() -> V>( &self, key: &K, default: F, ) -> Result<V, Self::Error> { ... } fn multi_get<J>( &self, keys: impl IntoIterator<Item = J>, ) -> Result<Vec<Option<V>>, Self::Error> where J: Borrow<K> { ... } fn multi_insert<J, U>( &self, key_val_pairs: impl IntoIterator<Item = (J, U)>, ) -> Result<(), Self::Error> where J: Borrow<K>, U: Borrow<V> { ... } fn multi_remove<J>( &self, keys: impl IntoIterator<Item = J>, ) -> Result<(), Self::Error> where J: Borrow<K> { ... }
}

Required Associated Types§

Source

type Error: Error

Source

type Iterator: Iterator<Item = (K, V)>

Source

type Keys: Iterator<Item = K>

Source

type Values: Iterator<Item = V>

Required Methods§

Source

fn contains_key(&self, key: &K) -> Result<bool, Self::Error>

Returns true if the map contains a value for the specified key.

Source

fn get(&self, key: &K) -> Result<Option<V>, Self::Error>

Returns the value for the given key from the map, if it exists.

Source

fn get_raw_bytes(&self, key: &K) -> Result<Option<Vec<u8>>, Self::Error>

Returns the raw value (bincode serialized bytes) for the given key from the map, if it exists.

Source

fn insert(&self, key: &K, value: &V) -> Result<(), Self::Error>

Inserts the given key-value pair into the map.

Source

fn remove(&self, key: &K) -> Result<(), Self::Error>

Removes the entry for the given key from the map.

Source

fn clear(&self) -> Result<(), Self::Error>

Removes every key-value pair from the map.

Source

fn is_empty(&self) -> bool

Returns true if the map is empty, otherwise false.

Source

fn iter(&'a self) -> Self::Iterator

Returns an iterator visiting each key-value pair in the map.

Source

fn keys(&'a self) -> Self::Keys

Returns an iterator over each key in the map.

Source

fn values(&'a self) -> Self::Values

Returns an iterator over each value in the map.

Source

fn try_catch_up_with_primary(&self) -> Result<(), Self::Error>

Try to catch up with primary when running as secondary

Provided Methods§

Source

fn get_or_insert_unsafe<F: FnOnce() -> V>( &self, key: &K, default: F, ) -> Result<V, Self::Error>

Returns the value for the given key from the map, if it exists or the given default value if it does not. This method is not thread safe

Source

fn multi_get<J>( &self, keys: impl IntoIterator<Item = J>, ) -> Result<Vec<Option<V>>, Self::Error>
where J: Borrow<K>,

Returns a vector of values corresponding to the keys provided, non-atomically.

Source

fn multi_insert<J, U>( &self, key_val_pairs: impl IntoIterator<Item = (J, U)>, ) -> Result<(), Self::Error>
where J: Borrow<K>, U: Borrow<V>,

Inserts key-value pairs, non-atomically.

Source

fn multi_remove<J>( &self, keys: impl IntoIterator<Item = J>, ) -> Result<(), Self::Error>
where J: Borrow<K>,

Removes keys, non-atomically.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, K, V> Map<'a, K, V> for DBMap<K, V>

Source§

type Error = TypedStoreError

Source§

type Iterator = Iter<'a, K, V>

Source§

type Keys = Keys<'a, K>

Source§

type Values = Values<'a, V>