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