2 releases

0.1.1 Mar 8, 2024
0.1.0 Mar 8, 2024

#162 in Memory management

MIT license

100KB
2K SLoC

Generic Slab

generic_slab is a fork of slab that provides more control over the key and storage types. Using a generic approach you can for example implement strong typed keys that must fit the data type stored in the slab, or you can use a fixed size array as backing storage for the slab data.

Crates.io Build Status

Documentation

Usage

To use generic_slab, first add this to your Cargo.toml:

[dependencies]
generic_slab = "0.1"

Next, add this to your crate:

use generic_slab::Slab;

let mut slab = Slab::new();

let hello = slab.insert("hello");
let world = slab.insert("world");

assert_eq!(slab[hello], "hello");
assert_eq!(slab[world], "world");

slab[world] = "earth";
assert_eq!(slab[world], "earth");

See documentation for more details.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in generic_slab by you, shall be licensed as MIT, without any additional terms or conditions.

Dependencies

~175KB