|0.1.3||Nov 27, 2022|
|0.1.2||Jan 17, 2016|
|0.1.1||Jan 17, 2016|
|0.1.0||Jan 16, 2016|
#52 in Parser tooling
20,288 downloads per month
Used in 41 crates (5 directly)
A Rust library for zero-allocation parsing of binary data.
Requires Rust version 1.6 or later (requires stable libcore for no_std).
See docs for more information.
Available on crates.io.
To use in your project, add to your
[dependencies] zero = "0.1.2"
Functions for reading binary data into Rust data structures. All functions are zero-allocation.
There are functions for reading a single value, an array of values, a single null-terminated UTF-8 string (which should also work with ASCII strings), and an array of null-terminated strings terminated by another null byte.
Functions preserve the lifetime of the underlying data. These functions are
memory safe, although this is in part based on the assumption that the
client only implements the unsafe trait
Pod where safe to do so.
Functions assert that the provided data is large enough and aligned. The
string functions check that strings are valid UTF-8. There is no checking
that the provided input will produce a valid object (for example, an enum
has a valid discriminant). The user must assert this by implementing the
There are also unsafe versions of most functions which do not require the
return type to implement
Pod and which do no checking.