pub enum NStack<T, A> {
Leaf([Option<T>; 4]),
Node([Option<Annotated<Box<NStack<T, A>>, A>>; 4]),
}Variants§
Implementations§
Source§impl<T, A> NStack<T, A>where
A: Annotation<NStack<T, A>>,
impl<T, A> NStack<T, A>where
A: Annotation<NStack<T, A>>,
Trait Implementations§
Source§impl<T, A> Annotation<NStack<T, A>> for ()
impl<T, A> Annotation<NStack<T, A>> for ()
Source§fn from_child(_: &NStack<T, A>) -> Self
fn from_child(_: &NStack<T, A>) -> Self
Compute the annotation from the child.
Source§impl<T> Annotation<NStack<T, Cardinality>> for Cardinality
impl<T> Annotation<NStack<T, Cardinality>> for Cardinality
Source§fn from_child(stack: &NStack<T, Cardinality>) -> Self
fn from_child(stack: &NStack<T, Cardinality>) -> Self
Compute the annotation from the child.
Source§impl<T, K> Annotation<NStack<T, MaxKey<K>>> for MaxKey<K>
impl<T, K> Annotation<NStack<T, MaxKey<K>>> for MaxKey<K>
Source§fn from_child(stack: &NStack<T, MaxKey<K>>) -> Self
fn from_child(stack: &NStack<T, MaxKey<K>>) -> Self
Compute the annotation from the child.
Source§impl<T, A> Compound<A> for NStack<T, A>
impl<T, A> Compound<A> for NStack<T, A>
impl<T, A> MutableLeaves for NStack<T, A>
Auto Trait Implementations§
impl<T, A> !Freeze for NStack<T, A>
impl<T, A> !RefUnwindSafe for NStack<T, A>
impl<T, A> Send for NStack<T, A>
impl<T, A> !Sync for NStack<T, A>
impl<T, A> Unpin for NStack<T, A>
impl<T, A> UnwindSafe for NStack<T, A>where
T: UnwindSafe,
A: UnwindSafe,
Blanket Implementations§
Source§impl<'a, C, A> Annotation<&'a C> for Awhere
A: Annotation<C>,
impl<'a, C, A> Annotation<&'a C> for Awhere
A: Annotation<C>,
Source§fn from_child(t: &&'a C) -> A
fn from_child(t: &&'a C) -> A
Compute the annotation from the child.
Source§impl<'a, C, A> Annotation<&'a mut C> for Awhere
A: Annotation<C>,
impl<'a, C, A> Annotation<&'a mut C> for Awhere
A: Annotation<C>,
Source§fn from_child(t: &&'a mut C) -> A
fn from_child(t: &&'a mut C) -> A
Compute the annotation from the child.
Source§impl<C, A> Annotation<Arc<C>> for Awhere
A: Annotation<C>,
impl<C, A> Annotation<Arc<C>> for Awhere
A: Annotation<C>,
Source§fn from_child(t: &Arc<C>) -> A
fn from_child(t: &Arc<C>) -> A
Compute the annotation from the child.
Source§impl<C, A> Annotation<Box<C>> for Awhere
A: Annotation<C>,
impl<C, A> Annotation<Box<C>> for Awhere
A: Annotation<C>,
Source§fn from_child(t: &Box<C>) -> A
fn from_child(t: &Box<C>) -> A
Compute the annotation from the child.
Source§impl<C, A> Annotation<Rc<C>> for Awhere
A: Annotation<C>,
impl<C, A> Annotation<Rc<C>> for Awhere
A: Annotation<C>,
Source§fn from_child(t: &Rc<C>) -> A
fn from_child(t: &Rc<C>) -> A
Compute the annotation from the child.
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