Variants
Leaf([Option<T>; 4])
Node([Option<Link<NStack<T, A, I>, A, I>>; 4])
Implementations
sourceimpl<T, A, I> NStack<T, A, I> where
Self: Archive,
<NStack<T, A, I> as Archive>::Archived: ArchivedCompound<Self, A, I> + Deserialize<Self, StoreRef<I>> + for<'a> CheckBytes<DefaultValidator<'a>>,
T: Archive + Clone + for<'a> CheckBytes<DefaultValidator<'a>>,
A: Annotation<<Self as Compound<A, I>>::Leaf> + Annotation<T> + Annotation<NStack<T, A, I>>,
I: Clone + for<'any> CheckBytes<DefaultValidator<'any>>,
impl<T, A, I> NStack<T, A, I> where
Self: Archive,
<NStack<T, A, I> as Archive>::Archived: ArchivedCompound<Self, A, I> + Deserialize<Self, StoreRef<I>> + for<'a> CheckBytes<DefaultValidator<'a>>,
T: Archive + Clone + for<'a> CheckBytes<DefaultValidator<'a>>,
A: Annotation<<Self as Compound<A, I>>::Leaf> + Annotation<T> + Annotation<NStack<T, A, I>>,
I: Clone + for<'any> CheckBytes<DefaultValidator<'any>>,
Trait Implementations
sourceimpl<T, A, I> Archive for NStack<T, A, I> where
[Option<T>; 4]: Archive,
impl<T, A, I> Archive for NStack<T, A, I> where
[Option<T>; 4]: Archive,
type Archived = ArchivedNStack<T, A, I>
type Archived = ArchivedNStack<T, A, I>
The archived representation of this type. Read more
type Resolver = NStackResolver<T, A, I>
type Resolver = NStackResolver<T, A, I>
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
sourceimpl<T, A, I> ArchivedCompound<NStack<T, A, I>, A, I> for ArchivedNStack<T, A, I> where
T: Archive,
A: Annotation<T>,
impl<T, A, I> ArchivedCompound<NStack<T, A, I>, A, I> for ArchivedNStack<T, A, I> where
T: Archive,
A: Annotation<T>,
sourcefn child(&self, ofs: usize) -> ArchivedChild<'_, NStack<T, A, I>, A, I>
fn child(&self, ofs: usize) -> ArchivedChild<'_, NStack<T, A, I>, A, I>
Returns an archived child
sourceimpl<T, A, I> Compound<A, I> for NStack<T, A, I> where
T: Archive,
A: Annotation<T>,
impl<T, A, I> Compound<A, I> for NStack<T, A, I> where
T: Archive,
A: Annotation<T>,
type Leaf = T
type Leaf = T
The leaf type of the Compound collection
sourcefn child_mut(&mut self, ofs: usize) -> ChildMut<'_, Self, A, I>
fn child_mut(&mut self, ofs: usize) -> ChildMut<'_, Self, A, I>
Get a mutable reference to a child
sourcefn walk<'a, W>(&'a self, walker: W) -> Option<Branch<'a, Self, A, I>> where
W: Walker<Self, A, I>,
A: Annotation<Self::Leaf>,
Self::Archived: ArchivedCompound<Self, A, I>,
Self::Archived: for<'any> CheckBytes<DefaultValidator<'any>>,
Self::Leaf: 'a,
Self::Leaf: Archive,
fn walk<'a, W>(&'a self, walker: W) -> Option<Branch<'a, Self, A, I>> where
W: Walker<Self, A, I>,
A: Annotation<Self::Leaf>,
Self::Archived: ArchivedCompound<Self, A, I>,
Self::Archived: for<'any> CheckBytes<DefaultValidator<'any>>,
Self::Leaf: 'a,
Self::Leaf: Archive,
Constructs a branch from this root compound
sourcefn walk_mut<W>(&'a mut self, walker: W) -> Option<BranchMut<'a, Self, A, I>> where
Self: Clone,
A: Annotation<Self::Leaf>,
W: Walker<Self, A, I>,
Self::Archived: Deserialize<Self, StoreRef<I>>,
Self::Archived: for<'any> CheckBytes<DefaultValidator<'any>>,
Self::Leaf: Archive,
fn walk_mut<W>(&'a mut self, walker: W) -> Option<BranchMut<'a, Self, A, I>> where
Self: Clone,
A: Annotation<Self::Leaf>,
W: Walker<Self, A, I>,
Self::Archived: Deserialize<Self, StoreRef<I>>,
Self::Archived: for<'any> CheckBytes<DefaultValidator<'any>>,
Self::Leaf: Archive,
Constructs a mutable branch from this root compound
sourceimpl<T, A, I> Default for NStack<T, A, I> where
A: Annotation<T>,
impl<T, A, I> Default for NStack<T, A, I> where
A: Annotation<T>,
sourceimpl<__D: Fallible + ?Sized, T, A, I> Deserialize<NStack<T, A, I>, __D> for Archived<NStack<T, A, I>> where
NStack<T, A, I>: Clone,
A: Clone,
I: Clone,
__D: StoreProvider<I>,
[Option<T>; 4]: Archive,
Archived<[Option<T>; 4]>: Deserialize<[Option<T>; 4], __D>,
impl<__D: Fallible + ?Sized, T, A, I> Deserialize<NStack<T, A, I>, __D> for Archived<NStack<T, A, I>> where
NStack<T, A, I>: Clone,
A: Clone,
I: Clone,
__D: StoreProvider<I>,
[Option<T>; 4]: Archive,
Archived<[Option<T>; 4]>: Deserialize<[Option<T>; 4], __D>,
sourceimpl<__S: Fallible + ?Sized, T, A, I> Serialize<__S> for NStack<T, A, I> where
T: Archive + Serialize<StoreSerializer<I>>,
A: Clone + Annotation<T>,
I: Clone,
__S: Sized + BorrowMut<StoreSerializer<I>>,
[Option<T>; 4]: Serialize<__S>,
impl<__S: Fallible + ?Sized, T, A, I> Serialize<__S> for NStack<T, A, I> where
T: Archive + Serialize<StoreSerializer<I>>,
A: Clone + Annotation<T>,
I: Clone,
__S: Sized + BorrowMut<StoreSerializer<I>>,
[Option<T>; 4]: Serialize<__S>,
impl<T, A, I> MutableLeaves for NStack<T, A, I> where
A: Annotation<T>,
Auto Trait Implementations
impl<T, A, I> !RefUnwindSafe for NStack<T, A, I>
impl<T, A, I> !Send for NStack<T, A, I>
impl<T, A, I> !Sync for NStack<T, A, I>
impl<T, A, I> Unpin for NStack<T, A, I> where
A: Unpin,
I: Unpin,
T: Unpin,
impl<T, A, I> !UnwindSafe for NStack<T, A, I>
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> ArchiveUnsized for T where
T: Archive,
impl<T> ArchiveUnsized for T where
T: Archive,
type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
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
sourceunsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
sourceimpl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
impl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more