# 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` impl) - currently not quite no_std, but this could easily be made possible