Struct evm_runtime::Stack [−][src]
EVM stack.
Implementations
impl Stack
[src]
pub fn new(limit: usize) -> Stack
[src]
Create a new stack with given limit.
pub fn limit(&self) -> usize
[src]
Stack limit.
pub fn len(&self) -> usize
[src]
Stack length.
pub fn pop(&mut self) -> Result<H256, ExitError>
[src]
Pop a value from the stack. If the stack is already empty, returns the
StackUnderflow
error.
pub fn push(&mut self, value: H256) -> Result<(), ExitError>
[src]
Push a new value into the stack. If it will exceed the stack limit,
returns StackOverflow
error and leaves the stack unchanged.
pub fn peek(&self, no_from_top: usize) -> Result<H256, ExitError>
[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 set(&mut self, no_from_top: usize, val: H256) -> Result<(), ExitError>
[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.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Stack
impl Send for Stack
impl Sync for Stack
impl Unpin for Stack
impl UnwindSafe for Stack
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut 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.
pub 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,