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>>
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 160 bytes