zerocopy

Utilities for safe zero-copy parsing and serialization.

This crate provides utilities which make it easy to perform zero-copy parsing and serialization by allowing zero-copy conversion to/from byte slices.

This is enabled by four core marker traits, each of which can be derived (e.g., #[derive(FromZeroes)]): - FromZeroes indicates that a sequence of zero bytes represents a valid instance of a type - FromBytes indicates that a type may safely be converted from an arbitrary byte sequence - AsBytes indicates that a type may safely be converted to a byte sequence - Unaligned indicates that a type's alignment requirement is 1

Types which implement a subset of these traits can then be converted to/from byte sequences with little to no runtime overhead.

Note that these traits are ignorant of byte order. For byte order-aware types, see the byteorder module.

Cargo Features

Disclaimer

Disclaimer: Zerocopy is not an officially supported Google product.