limited-queue 0.1.1

a limited queue that overrides the oldest data if trying to push a data when the queue is full.
Documentation
limited-queue-0.1.1 has been yanked.

Limited Queue

A circular queue that overrides the oldest data if trying to push a data when the queue is full.

All operations are of O(1) complexity, except the constructor with O(Vec::with_capacity).

The generic type T needs to have Default trait for pop operation, since we need to replace the popped element with some element.

There is a similar library circular-queue I found, but without the basic peek and pop operations. The comparison for now is listed below:

LimitedQueue circular-queue
Algorithm circular queue (front-rear) circular queue (based on len and capacity provided by Vec)
Element trait bound Default -
push, size-related methods
peek, pop support
Indexing - 0 ~ len- support [idx]- support get(idx)- optionally mutable ([idx])
Iterator - front to rear - both ways- optionally mutable
clear complexity O(1) O(Vec::clear)
serde support ❌ (TODO)

We welcome any kinds of contributions, please don't be hesitate to submit issues & PRs.