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 |
133 downloads per month
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