1pub mod counted_map;
2pub mod counter;
3pub mod hash_index;
4pub mod hash_map_full;
5pub mod reassignable_counted_map;
6pub mod removable_counter;
7pub mod unique_id;
8
9pub use hash_index::HashIndex;
10pub use unique_id::UniqueId;
11
12pub use counter::Counter;
13pub use removable_counter::RemovableCounter;
14
15pub use hash_map_full::HashMapFull;
16
17pub use counted_map::CountedMap;
18pub use reassignable_counted_map::ReassignableCountedMap;
19
20#[cfg(test)]
21mod tests {
22 use crate::ReassignableCountedMap;
23
24 #[test]
25 fn add_and_remove() {
26 let mut map: ReassignableCountedMap<usize, i32> = ReassignableCountedMap::new();
27
28 let a = map.push(10).unwrap();
29 let b = map.push(20).unwrap();
30 map.remove(b);
31 let c = map.push(30).unwrap();
32 map.remove(a);
33 map.remove(c);
34 }
35}