#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 • Rust 包仓库 33/week @ 2024-03-04 • Rust 包仓库 31/week @ 2024-03-11 • Rust 包仓库 44/week @ 2024-03-18 • Rust 包仓库 67/week @ 2024-03-25 • Rust 包仓库 66/week @ 2024-04-01 • Rust 包仓库 31/week @ 2024-04-08 • Rust 包仓库 37/week @ 2024-04-15 • Rust 包仓库 41/week @ 2024-04-22 • Rust 包仓库 34/week @ 2024-04-29 • Rust 包仓库 30/week @ 2024-05-06 • Rust 包仓库 33/week @ 2024-05-13 • Rust 包仓库 30/week @ 2024-05-20 • Rust 包仓库 24/week @ 2024-05-27 • Rust 包仓库 35/week @ 2024-06-03 • Rust 包仓库 38/week @ 2024-06-10 • Rust 包仓库 29/week @ 2024-06-17 • Rust 包仓库

每月下载 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 略慢。

无运行时依赖