5个版本
使用旧的Rust 2015
0.0.5 | 2015年7月4日 |
---|---|
0.0.4 | 2015年7月4日 |
0.0.3 | 2015年5月6日 |
0.0.2 | 2015年5月6日 |
0.0.1 | 2015年5月6日 |
#2463 in 算法
16KB
206 行
membuf
堆缓冲区分配、重新分配和释放的安全包装器。
概述
围绕Ts堆分配缓冲区的安全包装器,仅跟踪容量。
MemBuf不对该内存的实际内容做出任何承诺,这取决于结构的使用者,可以使用标准指针工具进行操作,通过MemBuf<T>
的impl获取,对于Deref<Target=*mut T>
。
您可以将MemBuf<T>
视为Box<[T]>
的近似,其中元素的有效性/初始化不能保证。它旨在用作其他集合的构建块,这样它们就不必关心分配、重新分配和释放内存的细节。
但是,请注意,MemBuf<T>
没有析构函数,并实现了Copy
,因此它没有实现Send
或Sync
,如果用户希望释放内存,则必须调用deallocate
。
还有一个UniqueBuf<T>
,它没有实现Copy
,实现了Send
和Sync
,并有一个负责释放的析构函数。
用法
使用crates.io仓库;将其添加到您的Cargo.toml
中,与其他依赖项一起
[dependencies]
membuf = "*"
作者
Jonathan Reem是membuf的主要作者和维护者。
许可协议
MIT