5 releases (stable)
| 1.0.3 | Apr 2, 2025 |
|---|---|
| 1.0.2 | Mar 11, 2025 |
| 0.1.0 | Mar 11, 2025 |
#1095 in Algorithms
276 downloads per month
14KB
147 lines
Itemizer
Itemizer is a data structure that maps items to unique integer IDs. It is used to convert items into unique IDs, and back again.
The Itemizer is generic over the type of the item, so it can be used with any type that implements the Eq, Hash, Ord, and Clone traits.
When calling id_of on an itemizer, it assigns an index, wrapped in an Item struct which represents this value. Using value_of, the original value can be retrieved.
Example
let mut itemizer = Itemizer::new();
let item1 = itemizer.id_of(&"item1".to_string());
let item2 = itemizer.id_of(&"item2".to_string());
assert_eq!(itemizer.value_of(&item1), &"item1".to_string());
assert_eq!(itemizer.value_of(&item2), &"item2".to_string());
Dependencies
~17KB