StackRef

Struct StackRef 

Source
pub struct StackRef<T: Stackable>(/* private fields */);

Implementations§

Source§

impl<T: Stackable> StackRef<T>

Source

pub fn len(&self) -> usize

Returns the number of items in the stack.

Source

pub fn is_empty(&self) -> bool

Determines if the stack is empty.

Source

pub fn iter(&self) -> Iter<'_, T>

Source

pub fn iter_mut(&mut self) -> IterMut<'_, T>

Source

pub fn get(&self, idx: usize) -> Option<&T::Ref>

Returns a reference to the element at the given index in the stack or None if the index is out of bounds

Source

pub fn get_mut(&mut self, idx: usize) -> Option<&mut T::Ref>

Returns a mutable reference to the element at the given index in the stack or None if the index is out of bounds

Source

pub fn push(&mut self, data: T) -> Result<(), ErrorStack>

Pushes a value onto the top of the stack.

Source

pub fn pop(&mut self) -> Option<T>

Removes the last element from the stack and returns it.

Trait Implementations§

Source§

impl<T: Stackable> AsRef<StackRef<T>> for Stack<T>

Source§

fn as_ref(&self) -> &StackRef<T>

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: Stackable> Borrow<StackRef<T>> for Stack<T>

Source§

fn borrow(&self) -> &StackRef<T>

Immutably borrows from an owned value. Read more
Source§

impl<T: Stackable> ForeignTypeRef for StackRef<T>

Source§

type CType = <T as Stackable>::StackType

The raw C type.
Source§

unsafe fn from_ptr<'a>(ptr: *mut Self::CType) -> &'a Self

Constructs a shared instance of this type from its raw type.
Source§

unsafe fn from_ptr_mut<'a>(ptr: *mut Self::CType) -> &'a mut Self

Constructs a mutable reference of this type from its raw type.
Source§

fn as_ptr(&self) -> *mut Self::CType

Returns a raw pointer to the wrapped value.
Source§

impl<T: Stackable> Index<usize> for StackRef<T>

Source§

type Output = <T as ForeignType>::Ref

The returned type after indexing.
Source§

fn index(&self, index: usize) -> &T::Ref

Performs the indexing (container[index]) operation. Read more
Source§

impl<T: Stackable> IndexMut<usize> for StackRef<T>

Source§

fn index_mut(&mut self, index: usize) -> &mut T::Ref

Performs the mutable indexing (container[index]) operation. Read more
Source§

impl<'a, T: Stackable> IntoIterator for &'a StackRef<T>

Source§

type Item = &'a <T as ForeignType>::Ref

The type of the elements being iterated over.
Source§

type IntoIter = Iter<'a, T>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Iter<'a, T>

Creates an iterator from a value. Read more
Source§

impl<'a, T: Stackable> IntoIterator for &'a mut StackRef<T>

Source§

type Item = &'a mut <T as ForeignType>::Ref

The type of the elements being iterated over.
Source§

type IntoIter = IterMut<'a, T>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> IterMut<'a, T>

Creates an iterator from a value. Read more
Source§

impl<T: Stackable + Send> Send for StackRef<T>

Source§

impl<T: Stackable + Sync> Sync for StackRef<T>

Auto Trait Implementations§

§

impl<T> !Freeze for StackRef<T>

§

impl<T> !RefUnwindSafe for StackRef<T>

§

impl<T> Unpin for StackRef<T>
where T: Unpin,

§

impl<T> UnwindSafe for StackRef<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 0 bytes