endian-num
This crate provides the Be (big-endian) and Le (little-endian) byte-order-aware numeric types.
Unlike the popular byteorder crate, which focuses on the action of encoding and decoding numbers to and from byte streams, this crate focuses on the state of numbers.
This is useful to create structs that contain fields of a specific endianness for interoperability, such as in virtio.
In comparison to other crates that focus on state, this crate closely follows naming conventions from core::num, has rich functionality, and extensive documentation of each method.
The core API looks roughly like this (correspondingly for Be):
pub struct<T> Le;
The types also implement appropriate traits from core::cmp, core::convert, core::fmt, and core::ops and provide additional helper methods for computations.
For API documentation, see the docs.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
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.