| Crates.io | index_queue |
| lib.rs | index_queue |
| version | 0.1.0 |
| created_at | 2017-03-28 19:47:19.619319+00 |
| updated_at | 2017-03-28 19:47:19.619319+00 |
| description | A queue for unique indices with constant-time query and removal |
| homepage | |
| repository | https://github.com/Rufflewind/index_queue |
| max_upload_size | |
| id | 9187 |
| size | 21,568 |
index_queueA queue for unique indices (integers) with O(1) push/pop and O(1) lookup/removal. It is a doubly-linked list with all its nodes stored inside a single Vec. The queue is most memory efficient when the integers are relatively small and densely packed. The implementation is similar to ixlist, but index_queue is more specialized: it allows querying whether an index already exists as well as removal by index, but does not allow duplicate indices.
The queue works well with indices obtained from array-based allocators such as vec_arena or slab.
This crate was originally created to implement a cooperative FIFO task scheduler (synchrotron).