[−][src]Struct ethereumvm::Stack
Represents an EVM stack.
Methods
impl Stack
[src]
pub fn check_pop_push(
&self,
pop: usize,
push: usize
) -> Result<(), OnChainError>
[src]
&self,
pop: usize,
push: usize
) -> Result<(), OnChainError>
Check a pop-push cycle. If the check succeeded, push
, pop
,
set
, peek
within the limit should not fail.
pub fn push(&mut self, elem: M256) -> Result<(), OnChainError>
[src]
Push a new value to the stack.
pub fn pop(&mut self) -> Result<M256, OnChainError>
[src]
Pop a value from the stack.
pub fn set(&mut self, no_from_top: usize, val: M256) -> Result<(), OnChainError>
[src]
Set a value at given index for the stack, where the top of the
stack is at index 0
. If the index is too large,
StackError::Underflow
is returned.
pub fn peek(&self, no_from_top: usize) -> Result<M256, OnChainError>
[src]
Peek a value at given index for the stack, where the top of
the stack is at index 0
. If the index is too large,
StackError::Underflow
is returned.
pub fn len(&self) -> usize
[src]
Get the current stack length.
pub fn is_empty(&self) -> bool
[src]
Returns true if stack is empty
Trait Implementations
Auto Trait Implementations
impl Sync for Stack
impl Unpin for Stack
impl Send for Stack
impl UnwindSafe for Stack
impl RefUnwindSafe for Stack
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self