Struct sprs::stack::DStack[][src]

pub struct DStack<I> { /* fields omitted */ }

A double stack of fixed capacity, growing from the left to the right or conversely.

Used in sparse triangular / sparse vector solves, where it is guaranteed that the two parts of the stack cannot overlap.

Methods

impl<I> DStack<I> where
    I: Copy
[src]

Create a new double stacked suited for containing at most n elements

Capacity of the dstack

Test whether the left stack is empty

Test whether the right stack is empty

Push a value on the left stack

Push a value on the right stack

Pop a value from the left stack

Pop a value from the right stack

Number of right elements this double stack contains

Clear the right stack

Clear the left stack

Iterates along the right stack without removing items

Push the values of the left stack onto the right stack.

Push the values of the right stack onto the left stack.

Trait Implementations

impl<I: Debug> Debug for DStack<I>
[src]

Formats the value using the given formatter. Read more

impl<I: Clone> Clone for DStack<I>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<I> Send for DStack<I> where
    I: Send

impl<I> Sync for DStack<I> where
    I: Sync