[−][src]Crate beach_map
A BeachMap is just a SlotMap, a data structure used to store elements and access them with an id.
Example:
use beach_map::BeachMap; let mut beach = BeachMap::default(); let id1 = beach.insert(1); let id2 = beach.insert(2); assert_eq!(beach.len(), 2); assert_eq!(beach[id1], 1); assert_eq!(beach.remove(id2), Some(2)); assert_eq!(beach.get(id2), None); assert_eq!(beach.len(), 1); beach[id1] = 7; assert_eq!(beach[id1], 7); beach.extend(1..4); assert_eq!(beach.data(), [7, 1, 2, 3]);
You shouldn't assume the order of the elements as any removing operation will shuffle them.
Rayon
To use rayon with beach_map, you need rayon in your dependencies and add the parallel feature to beach_map.
Example:
use beach_map::BeachMap; use rayon::prelude::*; let mut beach = BeachMap::default(); let ids = beach.extend(0..500); beach.par_iter_mut().for_each(|x| { *x *= 2; }); for i in 0..ids.len() { assert_eq!(beach[ids[i]], i * 2); }
Structs
BeachMap | |
FilterOut | |
ID | Handle to a value inside the BeachMap. |
IterID | |
IterMutID |
Type Definitions
DefaultVersion |