ring_buffer 0.1.0

RingBuffer is a mix of a vector and a queue
Documentation

pipeline status ring_buffer

RingBuffer is a mix of a vector and a queue. It allows for direct element access as well as pushing and popping elements like a queue.

Example

use ringbuffer::RingBuffer;

fn main() {
    let mut buffer = RingBuffer::new();
    
    let first_index = buffer.push(42);
    let second_index = buffer.push(9001);
    
    println!("{} == {}", buffer.get_relative(1),
        buffer.get_absolute(first_index));
    
    println!("{} == {}", buffer.get_relative(0),
        buffer.get_absolute(second_index));
}

Why use this?

The features of RingBuffer come in handy when processing a stream of elements while also needing to access elements in process at random.

License