4 个版本 (稳定)

使用旧的 Rust 2015

1.1.1 2018年6月21日
1.1.0 2016年2月9日
1.0.0 2016年2月9日
0.1.0 2016年1月13日

#2 in #null-terminated

Download history 15107/week @ 2024-03-14 11806/week @ 2024-03-21 10187/week @ 2024-03-28 9842/week @ 2024-04-04 9247/week @ 2024-04-11 10929/week @ 2024-04-18 11097/week @ 2024-04-25 16246/week @ 2024-05-02 15900/week @ 2024-05-09 17209/week @ 2024-05-16 17203/week @ 2024-05-23 13704/week @ 2024-05-30 10834/week @ 2024-06-06 13037/week @ 2024-06-13 12275/week @ 2024-06-20 11600/week @ 2024-06-27

49,911 每月下载量
用于 198 个crate(4 直接使用)

MIT 或 BSD-3-Clause

14KB
275

c_linked_list

这是一个用于处理 NULL-终止的 C 链表的 Rust 库。您可以使用此库将 C 库提供的链表包装为 Rust 类型。

文档


lib.rs:

此 crate 提供了处理由 C 代码提供的 NULL-终止链表的工具。假设您调用一个返回 NULL 或指向以下 C 类型节点的指针的外部函数。

struct LinkedListNode {
    int value;
    struct LinkedListNode *next;
};

您可以使用此库将 C 链表包装为 rust 类型,从而允许对其进行迭代等操作。

let some_c_linked_list = foreign_function_which_returns_c_linked_list();
let rust_linked_list = unsafe { CLinkedListMut::from_ptr(some_c_linked_list, |n| n.next) };
for (i, node) in rust_linked_list.iter().enumerate() {
    println!("some_c_linked_list[{}] == {}", i, node.value);
}

无运行时依赖