Struct dusk_hamt::Hamt [−][src]
pub struct Hamt<K, V, A>(_)
where
A: Annotation<KvPair<K, V>>;
Implementations
impl<K, V, A> Hamt<K, V, A> where
K: Archive<Archived = K> + Clone + Eq + Hash,
V: Archive + Clone,
A: Annotation<KvPair<K, V>>,
Self: Archive,
<Hamt<K, V, A> as Archive>::Archived: ArchivedCompound<Self, A> + Deserialize<Self, Infallible>,
impl<K, V, A> Hamt<K, V, A> where
K: Archive<Archived = K> + Clone + Eq + Hash,
V: Archive + Clone,
A: Annotation<KvPair<K, V>>,
Self: Archive,
<Hamt<K, V, A> as Archive>::Archived: ArchivedCompound<Self, A> + Deserialize<Self, Infallible>,
Trait Implementations
type Archived = ArchivedHamt<K, V, A>
type Archived = ArchivedHamt<K, V, A>
The archived representation of this type. Read more
type Resolver = HamtResolver<K, V, A>
type Resolver = HamtResolver<K, V, A>
The resolver for this type. It must contain all the additional information from serializing needed to make the archived type from the normal type. Read more
impl<K, V, A> ArchivedCompound<Hamt<K, V, A>, A> for ArchivedHamt<K, V, A> where
K: Archive,
V: Archive,
A: Annotation<KvPair<K, V>>,
impl<K, V, A> ArchivedCompound<Hamt<K, V, A>, A> for ArchivedHamt<K, V, A> where
K: Archive,
V: Archive,
A: Annotation<KvPair<K, V>>,
Provides an iterator over all sub-annotations of the compound node
Constructs a branch from this root compound
fn walk_mut<W>(&'a mut self, walker: W) -> Option<BranchMut<'a, Self, A>> where
Self: Archive + Clone,
W: Walker<Self, A>,
Self::Archived: ArchivedCompound<Self, A>,
Self::Archived: Deserialize<Self, Infallible>,
Self::Leaf: Archive,
fn walk_mut<W>(&'a mut self, walker: W) -> Option<BranchMut<'a, Self, A>> where
Self: Archive + Clone,
W: Walker<Self, A>,
Self::Archived: ArchivedCompound<Self, A>,
Self::Archived: Deserialize<Self, Infallible>,
Self::Leaf: Archive,
Constructs a mutable branch from this root compound
Auto Trait Implementations
impl<K, V, A> !RefUnwindSafe for Hamt<K, V, A>
impl<K, V, A> !UnwindSafe for Hamt<K, V, A>
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
The archived counterpart of this type. Unlike Archive
, it may be unsized. Read more
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
pub unsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
pub unsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
Mutably borrows from an owned value. Read more