Crate compactmap [−] [src]
A map-esque data structure that small integer keys for you on insertion. Key of removed entries are reused for new insertions. Underlying data is stored in a vector, keys are just indexes of that vector. The main trick is keeping in-place linked list of freed indexes for reuse.
Serde is supported. If you need pre-computed length at serialization time
(for example, for bincode), use serde_ser_len
feature.
If you are worried about losing strict typing advantages because of those
usize
s, you can use special wrapper
See also: Slab
Modules
wrapped |
Special version of |
Macros
declare_compactmap_token |
Create usize-equivalent struct that implements |
Structs
CompactMap |
A map that chooses small integer keys for you. You store something into this map and then access it by ID returned by it. For small V entries are expected to take 16 bytes. |
Drain |
A draining iterator over the key-value pairs of a map. |
IntoIter |
A consuming iterator over the key-value pairs of a map. |
Iter |
An iterator over the key-value pairs of a map. |
IterMut |
An iterator over the key-value pairs of a map, with the values being mutable. |
Keys |
An iterator over the keys of a map. |
Values |
An iterator over the values of a map. |
ValuesMut |
An iterator over the values of a map. |