Struct repr::adt::jsonb::vec_stack::VecStack[][src]

pub struct VecStack<'a, T> {
    buf: &'a mut Vec<T>,
    i: usize,
}
Expand description

A VecStack presents as a stack of Vecs where only the vector at the top of the stack is accessible. It is backed by a single Vec whose allocation is reused as elements are added to and dropped from the stack, and so it can be more efficient than allocating individual vectors.

Fields

buf: &'a mut Vec<T>i: usize

Implementations

Creates a new VecStack backed by buf.

The stack starts with a single psuedo-vector.

Adds a new element to the psuedo-vector at the top of the stack.

Sorts the psuedo-vector at the top of the stack by the key identified by f.

Returns the length of the psuedo-vector at the top of the stack.

Push a fresh vector onto the stack.

The returned VecStack is a handle to this vector. The psuedo-vector beneath the new vector is inaccessible until the new handle is dropped.

Trait Implementations

Executes the destructor for this type. Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more