Struct chalk_recursive::fixed_point::stack::Stack
source · pub(super) struct Stack {
entries: Vec<StackEntry>,
overflow_depth: usize,
}
Fields§
§entries: Vec<StackEntry>
§overflow_depth: usize
Implementations§
source§impl Stack
impl Stack
pub(super) fn new(overflow_depth: usize) -> Self
pub(super) fn is_empty(&self) -> bool
pub(super) fn push(&mut self, coinductive_goal: bool) -> StackDepth
pub(super) fn pop(&mut self, depth: StackDepth)
sourcepub(super) fn mixed_inductive_coinductive_cycle_from(
&self,
depth: StackDepth
) -> bool
pub(super) fn mixed_inductive_coinductive_cycle_from(
&self,
depth: StackDepth
) -> bool
True iff there exist at least one coinductive goal and one inductive goal each from the top of the stack down to (and including) the given depth.
Trait Implementations§
source§impl Index<StackDepth> for Stack
impl Index<StackDepth> for Stack
§type Output = StackEntry
type Output = StackEntry
The returned type after indexing.
source§fn index(&self, depth: StackDepth) -> &StackEntry
fn index(&self, depth: StackDepth) -> &StackEntry
Performs the indexing (
container[index]
) operation. Read moresource§impl IndexMut<StackDepth> for Stack
impl IndexMut<StackDepth> for Stack
source§fn index_mut(&mut self, depth: StackDepth) -> &mut StackEntry
fn index_mut(&mut self, depth: StackDepth) -> &mut StackEntry
Performs the mutable indexing (
container[index]
) operation. Read more