pub struct ReductionStack { /* private fields */ }Expand description
LIFO stack of ReductionFrames. Bottom-most frame represents the
first elimination layer applied; top-most is the most recent.
finalize_solution lifts from top to bottom.
Implementations§
Source§impl ReductionStack
impl ReductionStack
Sourcepub fn push(&mut self, frame: ReductionFrame)
pub fn push(&mut self, frame: ReductionFrame)
Push a frame onto the stack (most-recent end).
Sourcepub fn top(&self) -> Option<&ReductionFrame>
pub fn top(&self) -> Option<&ReductionFrame>
Reference to the most-recently-pushed frame, if any.
Sourcepub fn iter_top_down(&self) -> impl Iterator<Item = &ReductionFrame>
pub fn iter_top_down(&self) -> impl Iterator<Item = &ReductionFrame>
Iterate frames from top (most recent) to bottom (first). PR 8 uses this order when lifting a reduced solution back to the original full space.
Sourcepub fn iter_bottom_up(&self) -> impl Iterator<Item = &ReductionFrame>
pub fn iter_bottom_up(&self) -> impl Iterator<Item = &ReductionFrame>
Iterate frames in push order (bottom to top). Useful when projecting full → reduced through the layers in the same order they were applied.
Trait Implementations§
Source§impl Clone for ReductionStack
impl Clone for ReductionStack
Source§fn clone(&self) -> ReductionStack
fn clone(&self) -> ReductionStack
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ReductionStack
impl Debug for ReductionStack
Source§impl Default for ReductionStack
impl Default for ReductionStack
Source§fn default() -> ReductionStack
fn default() -> ReductionStack
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReductionStack
impl RefUnwindSafe for ReductionStack
impl Send for ReductionStack
impl Sync for ReductionStack
impl Unpin for ReductionStack
impl UnsafeUnpin for ReductionStack
impl UnwindSafe for ReductionStack
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