pub struct CNil<T: CStackListHeadLimit>(/* private fields */);Expand description
Empty repr(C) list used as the tail sentinel for CStackList.
Trait Implementations§
Source§impl<T: CStackListHeadLimit> CStackListHeadLimit for CNil<T>
impl<T: CStackListHeadLimit> CStackListHeadLimit for CNil<T>
Source§const HEAD_LIMIT: usize = T::HEAD_LIMIT
const HEAD_LIMIT: usize = T::HEAD_LIMIT
The offset to the end of the head element.
Source§impl<T: CStackListHeadLimit> Debug for CNil<T>
impl<T: CStackListHeadLimit> Debug for CNil<T>
Source§impl<T: CStackListHeadLimit> EmptyList for CNil<T>
impl<T: CStackListHeadLimit> EmptyList for CNil<T>
Source§type PushFirst<U: 'static> = CStackList<U, CNil<T>>
type PushFirst<U: 'static> = CStackList<U, CNil<T>>
The result of pushing the first element onto an empty list.
Source§fn push_first<U: 'static>(self, item: U) -> Self::PushFirst<U>
fn push_first<U: 'static>(self, item: U) -> Self::PushFirst<U>
Push the first element onto an empty list.
Source§fn root_empty() -> Self::RootEmpty
fn root_empty() -> Self::RootEmpty
Return the canonical empty list.
Source§impl IntoRustTuple for CNil<()>
impl IntoRustTuple for CNil<()>
Source§impl<T: CStackListHeadLimit, P: ListTypeProperty> ListTypeIteratorAdvance<P> for CNil<T>
impl<T: CStackListHeadLimit, P: ListTypeProperty> ListTypeIteratorAdvance<P> for CNil<T>
Source§impl StackResult for CNil<()>
impl StackResult for CNil<()>
Source§unsafe fn take_result(_stack: &mut RawStack) -> Undefined
unsafe fn take_result(_stack: &mut RawStack) -> Undefined
Returns the empty-stack marker without reading a nonexistent slot.
Source§impl ToTypeIdList for CNil<()>
impl ToTypeIdList for CNil<()>
Source§fn to_stack_info_list() -> Vec<StackInfo>
fn to_stack_info_list() -> Vec<StackInfo>
Returns an empty preloaded stack.
Auto Trait Implementations§
impl<T> Freeze for CNil<T>where
T: Freeze,
impl<T> RefUnwindSafe for CNil<T>where
T: RefUnwindSafe,
impl<T> Send for CNil<T>where
T: Send,
impl<T> Sync for CNil<T>where
T: Sync,
impl<T> Unpin for CNil<T>where
T: Unpin,
impl<T> UnsafeUnpin for CNil<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for CNil<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> List for Twhere
T: EmptyList,
impl<T> List for Twhere
T: EmptyList,
Source§const LENGTH: usize = const LENGTH: usize = 0;
const LENGTH: usize = const LENGTH: usize = 0;
The length of the list, computed at compile time.
Source§type Push<U: 'static> = <T as EmptyList>::PushFirst<U>
type Push<U: 'static> = <T as EmptyList>::PushFirst<U>
The type of the list after pushing a new value.
Source§type ReverseOnto<U: List> = U
type ReverseOnto<U: List> = U
The resulting list when reversing
Self onto U.Source§fn empty() -> <T as List>::Empty
fn empty() -> <T as List>::Empty
Returns a new empty list that can be used to create a list with the same characteristics.
Source§fn push<U>(self, item: U) -> <T as List>::Push<U>
fn push<U>(self, item: U) -> <T as List>::Push<U>
Pushes a new value onto the front of the list, returning a new list.
Source§fn reverse_onto<U>(self, other: U) -> <T as List>::ReverseOnto<U>where
U: List,
fn reverse_onto<U>(self, other: U) -> <T as List>::ReverseOnto<U>where
U: List,
Reverse
Self and append the result to other.