Queue(普通 FIFO 队列)
LibXR::Queue<T> 是当前公开队列家族里最基础的一类:普通固定容量 FIFO,不带并发同步语义,适合单线程或你自己已经处理好外部同步的场景。
主线现在公开的队列家族分成三类:
Queue<T>:普通 FIFO;SPSCQueue<T>:单生产者单消费者无锁队列;MPMCQueue<T>:多生产者多消费者有界队列。
如果你只是需要一个通用环形队列,先看这一页;如果你需要并发语义, 再看 SPSCQueue 或 MPMCQueue。
结构分层
当前实现分两层:
QueueBase:字节级环形缓冲基类;Queue<T>:在QueueBase上提供强类型接口的模板封装。
这意味着 Queue<T> 本质上仍是“固定大小元素的 FIFO 字节队列”,只是把 Push/Pop/Peek 包装成了强类型接口。
基本用法
LibXR::Queue<int> queue(16);
queue.Push(42);
int value = 0;
queue.Pop(value);