9个版本

使用旧Rust 2015

0.4.1 2019年1月9日
0.4.0 2019年1月6日
0.3.4 2017年6月13日
0.3.3 2016年12月13日
0.1.0 2016年12月7日

#734 in 内存管理

Download history 570/week @ 2024-03-13 857/week @ 2024-03-20 647/week @ 2024-03-27 586/week @ 2024-04-03 704/week @ 2024-04-10 666/week @ 2024-04-17 608/week @ 2024-04-24 820/week @ 2024-05-01 632/week @ 2024-05-08 643/week @ 2024-05-15 463/week @ 2024-05-22 440/week @ 2024-05-29 315/week @ 2024-06-05 249/week @ 2024-06-12 308/week @ 2024-06-19 884/week @ 2024-06-26

1,833 每月下载量
9 个crates中使用 (3 个直接使用)

MIT 许可证

17KB
381

slice-pool

Rust库,用于将切片用作内存池。

文档

https://docs.rs/slice-pool

安装

将此添加到您的 Cargo.toml

[dependencies]
slice-pool = "0.4.1"

并添加到您的crate根目录

extern crate slice_pool;

lib.rs:

此crate提供使用可切片类型作为池底层内存的功能。

分配的内存可以是任何类型的可变切片。

use slice_pool::sync::SlicePool;

let values = vec![10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
let mut memory = SlicePool::new(values);
assert_eq!(memory.len(), 10);

// Not enough memory available (only 10 elements)
assert!(memory.alloc(11).is_none());

let mut first = memory.alloc(2).unwrap();
assert_eq!(*first, [10, 20]);
first[1] = 15;
assert_eq!(*first, [10, 15]);

let mem2 = memory.alloc(5).unwrap();
assert_eq!(*mem2, [30, 40, 50, 60, 70]);

无运行时依赖