#cuisiner

cuisiner

Cook up some conversions to and from C-style binary layouts

4 releases

Uses new Rust 2024

new 0.0.4 Mar 27, 2025
0.0.3 Mar 27, 2025
0.0.2 Mar 25, 2025
0.0.1 Mar 25, 2025
Download history 133/week @ 2025-03-19

133 downloads per month

MIT/Apache

20KB
455 lines

cuisiner

Cook up some conversions to and from C-style binary layouts.

Cuisiner provides traits and macros to create idiomatic Rust structures that can be seamlessly converted to and from C-style binary representations, even if it has a different layout.

Overview

Cuisiner centres on the derivable Cuisiner trait, which provides the 'raw' serialised type (via the Raw associated type), and methods used to serialise and deserialise from the raw value. The raw representation must align with the C representation of the structure, whilst the try_from_raw and try_to_raw methods can handle validation when converting to and from the idiomatic Rust representation.

Example

See sqlite-header.rs for an example.

Dependencies

~1–1.6MB
~26K SLoC