Struct redb::MultimapTable
source · pub struct MultimapTable<'txn, K: Key + 'static, V: Key + 'static> { /* private fields */ }
Expand description
A multimap table
Multimap tables may have multiple values associated with each key
Implementations§
source§impl<'txn, K: Key + 'static, V: Key + 'static> MultimapTable<'txn, K, V>
impl<'txn, K: Key + 'static, V: Key + 'static> MultimapTable<'txn, K, V>
sourcepub fn insert<'k, 'v>(
&mut self,
key: impl Borrow<K::SelfType<'k>>,
value: impl Borrow<V::SelfType<'v>>,
) -> Result<bool>
pub fn insert<'k, 'v>( &mut self, key: impl Borrow<K::SelfType<'k>>, value: impl Borrow<V::SelfType<'v>>, ) -> Result<bool>
Add the given value to the mapping of the key
Returns true
if the key-value pair was present
sourcepub fn remove<'k, 'v>(
&mut self,
key: impl Borrow<K::SelfType<'k>>,
value: impl Borrow<V::SelfType<'v>>,
) -> Result<bool>
pub fn remove<'k, 'v>( &mut self, key: impl Borrow<K::SelfType<'k>>, value: impl Borrow<V::SelfType<'v>>, ) -> Result<bool>
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<MultimapValue<'_, V>>
pub fn remove_all<'a>( &mut self, key: impl Borrow<K::SelfType<'a>>, ) -> Result<MultimapValue<'_, V>>
Removes all values for the given key
Returns an iterator over the removed values. Values are in ascending order.
Trait Implementations§
source§impl<K: Key + 'static, V: Key + 'static> MultimapTableHandle for MultimapTable<'_, K, V>
impl<K: Key + 'static, V: Key + 'static> MultimapTableHandle for MultimapTable<'_, K, V>
source§impl<'txn, K: Key + 'static, V: Key + 'static> ReadableMultimapTable<K, V> for MultimapTable<'txn, K, V>
impl<'txn, K: Key + 'static, V: Key + 'static> ReadableMultimapTable<K, V> for MultimapTable<'txn, K, V>
source§fn get<'a>(
&self,
key: impl Borrow<K::SelfType<'a>>,
) -> Result<MultimapValue<'_, V>>
fn get<'a>( &self, key: impl Borrow<K::SelfType<'a>>, ) -> Result<MultimapValue<'_, V>>
Returns an iterator over all values for the given key. Values are in ascending order.
source§fn range<'a, KR>(
&self,
range: impl RangeBounds<KR> + 'a,
) -> Result<MultimapRange<'_, K, V>>
fn range<'a, KR>( &self, range: impl RangeBounds<KR> + 'a, ) -> Result<MultimapRange<'_, K, V>>
Returns a double-ended iterator over a range of elements in the table
source§fn iter(&self) -> Result<MultimapRange<'_, K, V>>
fn iter(&self) -> Result<MultimapRange<'_, K, V>>
Returns an double-ended iterator over all elements in the table. Values are in ascending
order.
source§impl<'txn, K: Key + 'static, V: Key + 'static> ReadableTableMetadata for MultimapTable<'txn, K, V>
impl<'txn, K: Key + 'static, V: Key + 'static> ReadableTableMetadata for MultimapTable<'txn, K, V>
Auto Trait Implementations§
impl<'txn, K, V> Freeze for MultimapTable<'txn, K, V>
impl<'txn, K, V> !RefUnwindSafe for MultimapTable<'txn, K, V>
impl<'txn, K, V> Send for MultimapTable<'txn, K, V>
impl<'txn, K, V> Sync for MultimapTable<'txn, K, V>
impl<'txn, K, V> Unpin for MultimapTable<'txn, K, V>
impl<'txn, K, V> !UnwindSafe for MultimapTable<'txn, K, V>
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
Mutably borrows from an owned value. Read more