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, StorageError>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, StorageError>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, StorageError>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, StorageError>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<MultimapValue<'_, V>, StorageError>where
K: 'a,
pub fn remove_all<'a>( &mut self, key: impl Borrow<K::SelfType<'a>> ) -> Result<MultimapValue<'_, V>, StorageError>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>(
&self,
key: impl Borrow<K::SelfType<'a>>
) -> Result<MultimapValue<'_, V>, StorageError>where
K: 'a,
fn get<'a>( &self, key: impl Borrow<K::SelfType<'a>> ) -> Result<MultimapValue<'_, V>, StorageError>where K: 'a,
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>, StorageError>where
K: 'a,
KR: Borrow<K::SelfType<'a>> + 'a,
fn range<'a, KR>( &self, range: impl RangeBounds<KR> + 'a ) -> Result<MultimapRange<'_, K, V>, StorageError>where K: 'a, KR: Borrow<K::SelfType<'a>> + 'a,
Returns a double-ended iterator over a range of elements in the table
source§fn iter(&self) -> Result<MultimapRange<'_, K, V>, StorageError>
fn iter(&self) -> Result<MultimapRange<'_, K, V>, StorageError>
Returns an double-ended iterator over all elements in the table. Values are in ascending
order.
Auto Trait Implementations§
impl<'db, 'txn, K, V> RefUnwindSafe for MultimapTable<'db, 'txn, K, V>where K: RefUnwindSafe, V: RefUnwindSafe,
impl<'db, 'txn, K, V> Send for MultimapTable<'db, 'txn, K, V>where K: Send, V: Send,
impl<'db, 'txn, K, V> Sync for MultimapTable<'db, 'txn, K, V>where K: Sync, V: Sync,
impl<'db, 'txn, K, V> Unpin for MultimapTable<'db, 'txn, K, V>where K: Unpin, V: Unpin,
impl<'db, 'txn, K, V> UnwindSafe for MultimapTable<'db, 'txn, 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
Mutably borrows from an owned value. Read more