Struct forest_actor::util::Multimap [−][src]
pub struct Multimap<'a, BS>(_, _);
Multimap stores multiple values per key in a Hamt of Amts. The order of insertion of values for each key is retained.
Implementations
impl<'a, BS> Multimap<'a, BS> where
BS: BlockStore,
[src]
BS: BlockStore,
pub fn new(bs: &'a BS, outer_bitwidth: u32, inner_bitwidth: usize) -> Self
[src]
Initializes a new empty multimap. The outer_bitwidth is the width of the HAMT and the inner_bitwidth is the width of the AMTs inside of it.
pub fn from_root(
bs: &'a BS,
cid: &Cid,
outer_bitwidth: u32,
inner_bitwidth: usize
) -> Result<Self, Error>
[src]
bs: &'a BS,
cid: &Cid,
outer_bitwidth: u32,
inner_bitwidth: usize
) -> Result<Self, Error>
Initializes a multimap from a root Cid
pub fn root(&mut self) -> Result<Cid, Error>
[src]
Retrieve root from the multimap.
pub fn add<V>(
&mut self,
key: BytesKey,
value: V
) -> Result<(), Box<dyn StdError>> where
V: Serialize + DeserializeOwned,
[src]
&mut self,
key: BytesKey,
value: V
) -> Result<(), Box<dyn StdError>> where
V: Serialize + DeserializeOwned,
Adds a value for a key.
pub fn get<V>(
&self,
key: &[u8]
) -> Result<Option<Amt<'a, V, BS>>, Box<dyn StdError>> where
V: DeserializeOwned + Serialize,
[src]
&self,
key: &[u8]
) -> Result<Option<Amt<'a, V, BS>>, Box<dyn StdError>> where
V: DeserializeOwned + Serialize,
Gets the Array of value type V
using the multimap store.
pub fn remove_all(&mut self, key: &[u8]) -> Result<(), Box<dyn StdError>>
[src]
Removes all values for a key.
pub fn for_each<F, V>(&self, key: &[u8], f: F) -> Result<(), Box<dyn StdError>> where
V: Serialize + DeserializeOwned,
F: FnMut(usize, &V) -> Result<(), Box<dyn StdError>>,
[src]
V: Serialize + DeserializeOwned,
F: FnMut(usize, &V) -> Result<(), Box<dyn StdError>>,
Iterates through all values in the array at a given key.
pub fn for_all<F, V>(&self, f: F) -> Result<(), Box<dyn StdError>> where
V: Serialize + DeserializeOwned,
F: FnMut(&BytesKey, &Amt<'_, V, BS>) -> Result<(), Box<dyn StdError>>,
[src]
V: Serialize + DeserializeOwned,
F: FnMut(&BytesKey, &Amt<'_, V, BS>) -> Result<(), Box<dyn StdError>>,
Iterates through all arrays in the multimap
Auto Trait Implementations
impl<'a, BS> RefUnwindSafe for Multimap<'a, BS> where
BS: RefUnwindSafe,
BS: RefUnwindSafe,
impl<'a, BS> Send for Multimap<'a, BS> where
BS: Sync,
BS: Sync,
impl<'a, BS> !Sync for Multimap<'a, BS>
impl<'a, BS> Unpin for Multimap<'a, BS>
impl<'a, BS> UnwindSafe for Multimap<'a, BS> where
BS: RefUnwindSafe,
BS: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,