#ring-buffer #fixed-size #storage #boxed #array #vec-deque #backing

boxed_array_ringbuffer

固定大小的环形缓冲区,使用封装数组作为存储,因此避免了从Vec或转换为VecDeque时的重新分配

2个版本

0.1.1 2021年12月12日
0.1.0 2021年12月12日

数据结构 中排名 #2417

MIT 许可证

23KB
134

boxed_array_ringbuffer

Rust环形缓冲区,使用封装数组作为后端存储,确保初始化后固定大小。使用const泛型。

此crate适用于需要尽可能简单的固定大小队列的情况,并希望保证固定大小。标准库提供双端队列的变长版本,VecDeque,但可能存在某些情况下,不希望使用的队列可以增长或缩小,例如通过使无效状态不可表示来避免错误。

环形缓冲区的存储在堆上,因为这样可以将VecBox<[_]>转换为RingBuffer而不进行任何重新分配,并且也可以将RingBuffer转换为VecDeque而不进行重新分配。

有关如何使用的详细信息,请参阅https://docs.rs/boxed_array_ringbuffer上的文档。

此crate不使用任何不安全代码,并且仅依赖于标准库。

无运行时依赖