#map #container #reuse

handlebox

A map-like collection that reuses unused keys

2 unstable releases

Uses old Rust 2015

0.3.0 Dec 16, 2017
0.2.0 Dec 16, 2017

#2105 in Data structures

Download history 1437/week @ 2023-12-18 611/week @ 2023-12-25 1194/week @ 2024-01-01 474/week @ 2024-01-08 320/week @ 2024-01-15 185/week @ 2024-01-22 95/week @ 2024-01-29 147/week @ 2024-02-05 217/week @ 2024-02-12 524/week @ 2024-02-19 52/week @ 2024-02-26 34/week @ 2024-03-04 34/week @ 2024-03-11 32/week @ 2024-03-18 29/week @ 2024-03-25 68/week @ 2024-04-01

169 downloads per month
Used in 4 crates (via simulacrum_mock)

MIT license

5KB
70 lines

Handlebox

Handlebox is a simple map-like collection that reuses unused keys. Right now it's hard-coded to use u32 keys.

To install, add this line to your Cargo.toml:

[dependencies]
handlebox = "0.3.0"

Note that Handlebox has not yet reached version 1.0, so the API may change drastically between releases.

Example

use handlebox::*;

// Creating
let mut c = HandleBox::new();

// Adding values
let h1 = c.add(888);

// Accessing values
assert_eq!(c.get(&h1).unwrap(), &888);

// Removing values
c.remove(&h1);

// You can access the internal BTreeMap<u32, V> with the .map field
assert_eq!(c.map.values().len(), 0);

No runtime deps