#linked-list #list #collection

atlist-rs

允许通过不可变迭代器插入/删除元素的LinkedList。在列表内部或跨多个列表添加、删除和移动元素时,不会使迭代器或引用无效。只有当对应的元素被删除时,迭代器才会失效。

3个不稳定版本

0.2.1 2021年3月6日
0.2.0 2021年3月5日
0.1.0 2021年2月26日

#2304数据结构

Download history 33/week @ 2024-03-04 31/week @ 2024-03-11 44/week @ 2024-03-18 67/week @ 2024-03-25 66/week @ 2024-04-01 31/week @ 2024-04-08 37/week @ 2024-04-15 41/week @ 2024-04-22 34/week @ 2024-04-29 30/week @ 2024-05-06 33/week @ 2024-05-13 30/week @ 2024-05-20 24/week @ 2024-05-27 35/week @ 2024-06-03 38/week @ 2024-06-10 29/week @ 2024-06-17

每月下载 127
8 个crate中使用(通过 music-player-tracklist

MIT/Apache

67KB
1.5K SLoC

atlist

github action badge codecov badge crates.io badge docs.rs badge license badge

文档

一个LinkedList,其中迭代器的生命周期独立于LinkedList。因此,可以将迭代器存储在任何地方,并在任何时候通过迭代器插入/删除元素。

添加、删除和移动迭代器不会使其他迭代器或引用无效。只有当对应的元素被删除时,迭代器才会失效。

我们使用 core::cell::RefCellstd::sync::Arc 来管理实际数据条目的生命周期,所以它比 std::collections::LinkedList 略慢。

无运行时依赖