Crates.io | endiantype |
lib.rs | endiantype |
version | 0.1.3 |
source | src |
created_at | 2021-08-09 11:15:55.130406 |
updated_at | 2021-08-10 06:54:48.944851 |
description | endiantype is an no-std, endian-aware implementation of primitive types like u8, u16, etc. |
homepage | |
repository | https://github.com/jwnhy/endiantype |
max_upload_size | |
id | 433651 |
size | 15,816 |
endiantype
is an no-std
, endian-aware implementation of primitive types like u8
, u16
, etc.
All endian types are implemented in a transparent way that it can directly replace the original types with almost zero overhead.
Add this to your Cargo.toml
endiantype = "0.1.3"
to use in a [no_std]
environment, you need to disable default features.
endiantype = { version = "0.1.3", default-features = false}
and import endian-ware types from this crate.
use endiantype::types::*;
Here is some features of endiantype
crate.
This crate can be used without std
support with no requirements or additional features needed
as it only relies on core
.
This crate provides sufficient default operations for endian-aware types.
For example, you can directly compare a primitive type with a endian-aware type.
use endiantype::*;
let num_le = u16_le::from_native(10);
assert!(num_le < 11);
Other bit-wise ops like &
, |
and arithmetic ops like +
, -
are also supported.
use endiantype::*;
let a = u32_le::from_native(1);
let b = u32_be::from_native(2);
assert!(a+b == 3);