9 releases
Uses old Rust 2015
0.4.1 | Jan 9, 2019 |
---|---|
0.4.0 | Jan 6, 2019 |
0.3.4 | Jun 13, 2017 |
0.3.3 | Dec 13, 2016 |
0.1.0 | Dec 7, 2016 |
#734 in Memory management
1,833 downloads per month
Used in 9 crates
(3 directly)
17KB
381 lines
slice-pool
A Rust library for using a slice as a memory pool.
Documentation
Installation
Add this to your Cargo.toml
:
[dependencies]
slice-pool = "0.4.1"
and this to your crate root:
extern crate slice_pool;
lib.rs
:
This crate provides functionality for using a sliceable type as the underlying memory for a pool.
The allocated memory can be a mutable slice of any type.
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]);