Struct redb::MultimapTable
source · pub struct MultimapTable<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> { /* private fields */ }
Expand description
A multimap table
Multimap tables may have multiple values associated with each key
Implementations§
source§impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> MultimapTable<'db, 'txn, K, V>
impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> MultimapTable<'db, 'txn, K, V>
sourcepub fn insert<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>,
value: impl Borrow<V::SelfType<'a>>
) -> Result<bool, Error>where
K: 'a,
V: 'a,
pub fn insert<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>,
value: impl Borrow<V::SelfType<'a>>
) -> Result<bool, Error>where
K: 'a,
V: 'a,
Add the given value to the mapping of the key
Returns true
if the key-value pair was present
sourcepub fn remove<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>,
value: impl Borrow<V::SelfType<'a>>
) -> Result<bool, Error>where
K: 'a,
V: 'a,
pub fn remove<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>,
value: impl Borrow<V::SelfType<'a>>
) -> Result<bool, Error>where
K: 'a,
V: 'a,
Removes the given key-value pair
Returns true
if the key-value pair was present
sourcepub fn remove_all<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>
) -> Result<MultimapValueIter<'_, V>, Error>where
K: 'a,
pub fn remove_all<'a>(
&mut self,
key: impl Borrow<K::SelfType<'a>>
) -> Result<MultimapValueIter<'_, V>, Error>where
K: 'a,
Removes all values for the given key
Returns an iterator over the removed values. Values are in ascending order.
Trait Implementations§
source§impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> Drop for MultimapTable<'db, 'txn, K, V>
impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> Drop for MultimapTable<'db, 'txn, K, V>
source§impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> ReadableMultimapTable<K, V> for MultimapTable<'db, 'txn, K, V>
impl<'db, 'txn, K: RedbKey + 'static, V: RedbKey + 'static> ReadableMultimapTable<K, V> for MultimapTable<'db, 'txn, K, V>
source§fn get<'a>(
&'a self,
key: impl Borrow<K::SelfType<'a>>
) -> Result<MultimapValueIter<'a, V>, Error>
fn get<'a>(
&'a self,
key: impl Borrow<K::SelfType<'a>>
) -> Result<MultimapValueIter<'a, V>, Error>
Returns an iterator over all values for the given key. Values are in ascending order.
source§fn range<'a: 'b, 'b, KR>(
&'a self,
range: impl RangeBounds<KR> + 'b
) -> Result<MultimapRangeIter<'a, K, V>, Error>where
K: 'a,
KR: Borrow<K::SelfType<'b>> + 'b,
fn range<'a: 'b, 'b, KR>(
&'a self,
range: impl RangeBounds<KR> + 'b
) -> Result<MultimapRangeIter<'a, K, V>, Error>where
K: 'a,
KR: Borrow<K::SelfType<'b>> + 'b,
Returns a double-ended iterator over a range of elements in the table