| Crates.io | endiantype |
| lib.rs | endiantype |
| version | 0.1.3 |
| created_at | 2021-08-09 11:15:55.130406+00 |
| updated_at | 2021-08-10 06:54:48.944851+00 |
| 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);