17个版本
使用旧的Rust 2015
| 0.3.2 | 2018年9月9日 |
|---|---|
| 0.3.1 | 2018年9月9日 |
| 0.2.2 | 2018年8月16日 |
| 0.1.10 | 2018年8月16日 |
70 在 #amount
41 每月下载量
33KB
375 行
slice_queue
欢迎来到我的 slice_queue-库 🎊
关于此库
本库提供了一个优化队列,用于高效处理(字节)切片。它允许您
- 通过消耗或从切片(如果类型支持
Clone/Copy特性)克隆/复制它们来高效地将任意数量的元素推送到队列的末尾 - 通信并强制限制存储元素的数量
- 高效地从队列的前端弹出任意数量的元素(可选地放入切片以避免不必要的重新分配)
- 通过使用(范围)索引直接访问底层缓冲区
- 通过将
SliceQueue<T>的deref()调用传播到底层的Vec<T>(可以禁用;见 功能门)来间接引用 - 使用
io::Read和io::Write特性访问它 - 使用
ReadableSliceQueue<T>和WriteableSliceQueue<T>特性或io::Read和io::Write特性将队列“分割”成读写 halves
功能门
deref:此功能允许您通过将任何deref()调用传播到底层的Vec<T>(通常结果是一个切片)来间接引用SliceQueue<T>。因为在一些项目中这可能会被认为是一种“不良做法”,所以可以禁用这种行为。此功能默认启用。unsafe_fast_code:由于本库的主要目标是性能,我们在一些地方使用了原始指针访问和手动内存管理。特别是对于类似u8的Copy类型,这可以大幅提高性能。由于这需要可能不被您接受的 unsafe 代码,您可以通过禁用此功能,用安全的Vec操作来替换 unsafe 代码。 此功能默认启用。
构建文档和库
要构建和打开文档,请进入项目的根目录,然后运行 cargo doc --release --open
要构建此库,请切换到项目的根目录,然后运行 cargo build --release(或 cargo build --release --features ... 以手动指定要使用的功能);您可以在 target/release 中找到构建结果。
如果您是第一次使用此库或更新后,我们建议您运行 cargo test --release(或 cargo test --release --features ... 以手动指定要使用的功能)。