#byte #representation #no-std #structs #safely #reading #safe-bytes

macro no-std safe-bytes-derive

Helper crate to read bytes representation of structs safely

2 releases

0.1.1 Jun 18, 2020
0.1.0 Jun 18, 2020

#41 in #safely


Used in safe-bytes

MIT/Apache

5KB
59 lines

safe-bytes

This crate allows reading bytes representation of structs even in presence of padding bytes.

crates docs License License

Simply derive SafeBytes for structures where all field types are SafeBytes implementations. And SafeBytes::safe_bytes would initialize all padding bytes before returning &[u8]. All primitives implement SafeBytes as there is no padding bytes. Additionally some std types implement SafeBytes.

Note that in order to initialize padding bytes SafeBytes::safe_bytes takes mutable reference &mut self. And returns shareable reference &[u8] because not all bitpatterns may be allowed for the type.

License

This repository is licensed under either of

at your option.

Contribution Licensing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.5MB
~37K SLoC