Struct chalk_engine::stack::StackIndex
source · pub(crate) struct StackIndex {
value: usize,
}
Expand description
The StackIndex identifies the position of a table’s goal in the stack of goals that are actively being processed. Note that once a table is completely evaluated, it may be popped from the stack, and hence no longer have a stack index.
Fields§
§value: usize
Implementations§
source§impl StackIndex
impl StackIndex
pub(crate) fn get_and_increment(&mut self) -> Self
pub(crate) fn increment(&mut self)
pub fn iterate_range(range: Range<Self>) -> impl Iterator<Item = StackIndex>
Trait Implementations§
source§impl Clone for StackIndex
impl Clone for StackIndex
source§fn clone(&self) -> StackIndex
fn clone(&self) -> StackIndex
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for StackIndex
impl Debug for StackIndex
source§impl From<usize> for StackIndex
impl From<usize> for StackIndex
source§impl Hash for StackIndex
impl Hash for StackIndex
source§impl<I: Interner> Index<StackIndex> for Stack<I>
impl<I: Interner> Index<StackIndex> for Stack<I>
§type Output = StackEntry<I>
type Output = StackEntry<I>
The returned type after indexing.
source§fn index(&self, index: StackIndex) -> &StackEntry<I>
fn index(&self, index: StackIndex) -> &StackEntry<I>
Performs the indexing (
container[index]
) operation. Read moresource§impl<I: Interner> IndexMut<StackIndex> for Stack<I>
impl<I: Interner> IndexMut<StackIndex> for Stack<I>
source§fn index_mut(&mut self, index: StackIndex) -> &mut StackEntry<I>
fn index_mut(&mut self, index: StackIndex) -> &mut StackEntry<I>
Performs the mutable indexing (
container[index]
) operation. Read moresource§impl Ord for StackIndex
impl Ord for StackIndex
source§fn cmp(&self, other: &StackIndex) -> Ordering
fn cmp(&self, other: &StackIndex) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for StackIndex
impl PartialEq for StackIndex
source§fn eq(&self, other: &StackIndex) -> bool
fn eq(&self, other: &StackIndex) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for StackIndex
impl PartialOrd for StackIndex
source§fn partial_cmp(&self, other: &StackIndex) -> Option<Ordering>
fn partial_cmp(&self, other: &StackIndex) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for StackIndex
impl Eq for StackIndex
impl StructuralPartialEq for StackIndex
Auto Trait Implementations§
impl Freeze for StackIndex
impl RefUnwindSafe for StackIndex
impl Send for StackIndex
impl Sync for StackIndex
impl Unpin for StackIndex
impl UnwindSafe for StackIndex
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
§impl<T> Cast for T
impl<T> Cast for T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.