linked_list_c 0.1.1

Safely work with c compatible linked lists
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# linked_list_c

This is a Rust crate with the goal of making C style linked lists easier to work with.

Some FFIs accept and/or return linked lists, requiring pointer wrangling and unsafe code to handle.
This crate tries to take care of those ugly bits for you, and provide a safe and ergonomic interface instead  

## Features
- Easily create Lists that can be passed to C FFIs
- Safely iterate over a linked list received from a C FFI
- handles cleaning up List on drop
  - can set a custom drop function if Drop, or libc::free() doesn't work for you
- extremely simple trait is all thats neccessary to use with your favorite struct
  - just add `#[derive(LlItem)]` if `yourStruct.next` points to the next `yourStruct`
  - or use the `impl_LlItem!([yourStruct, ...])` macro
- Zero copy and minimal extra memory footprint (besides `from<Vec>` impl)
- currently not quite no_std, but this could easily be made possible