limited-queue 0.1.0

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

Limited Queue

Circular queue that overrides the oldest data if trying to push data when 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 - front: 0- rear: capacity- optionally mutable
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.