1个不稳定版本
| 0.1.0 | 2024年5月30日 |
|---|
#513 在 内存管理 中
13KB
146 行
noop_allocator
这个crate提供了一个什么也不做的Allocator:NoopAllocator<'_>。
具体来说
allocate和allocate_zeroed对于任何非零大小的分配请求将返回Errdeallocate是一个空操作,并且不需要ptr是 "当前已分配" 的,或适合layout。shrink、grow和grow_zeroed不需要ptr是 "当前已分配" 的,或适合old_layout,并且在ptr对新布局对齐且新布局的大小小于或等于旧布局的情况下,将成功返回原始指针未变(具有新布局的长度)。
当您想借用现有内存范围用于在集合类型中使用时,此类型可以用作 Allocator,例如在 Box 或 Vec 中。
安全性
此crate中的许多函数假定如上所述,将 impl Allocator for NoopAllocator<'_> 作为是合理的,但 feature(allocator_api) 是不稳定的,并且前提条件可能会更改。