A linked list that doesn't do dynamic memory allocations.
Things it was designed to do:
- Add to the head of the list in O(1) - What you get back is a stable slot number
- Pop from the tail of the list in O(1)
- Delete an element given its slot number in O(1)
- And nothing else.
Dumb, small, maintainable, zero dependencies.
Cargo features:
releasefast
: assume thatremove()
will always be called with a valid index. This saves some memory, but has to be used with extreme caution. That feature is not set by default.slot_u32
: useu32
as the slot type (default)slot_u64
: useu64
as the slot typeslot_usize
: useusize
as the slot type