mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-06 19:19:58 +00:00
52 lines
1.1 KiB
Markdown
52 lines
1.1 KiB
Markdown
# Slab
|
|
|
|
Pre-allocated storage for a uniform data type.
|
|
|
|
[![Crates.io][crates-badge]][crates-url]
|
|
[![Build Status][ci-badge]][ci-url]
|
|
|
|
[crates-badge]: https://img.shields.io/crates/v/slab
|
|
[crates-url]: https://crates.io/crates/slab
|
|
[ci-badge]: https://img.shields.io/github/workflow/status/tokio-rs/slab/CI/master
|
|
[ci-url]: https://github.com/tokio-rs/slab/actions
|
|
|
|
[Documentation](https://docs.rs/slab)
|
|
|
|
## Usage
|
|
|
|
To use `slab`, first add this to your `Cargo.toml`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
slab = "0.4"
|
|
```
|
|
|
|
Next, add this to your crate:
|
|
|
|
```rust
|
|
use 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](https://docs.rs/slab) for more details.
|
|
|
|
## License
|
|
|
|
This project is licensed under the [MIT license](LICENSE).
|
|
|
|
### Contribution
|
|
|
|
Unless you explicitly state otherwise, any contribution intentionally submitted
|
|
for inclusion in `slab` by you, shall be licensed as MIT, without any additional
|
|
terms or conditions.
|