endiantype

Crates.ioendiantype
lib.rsendiantype
version0.1.3
sourcesrc
created_at2021-08-09 11:15:55.130406
updated_at2021-08-10 06:54:48.944851
descriptionendiantype is an no-std, endian-aware implementation of primitive types like u8, u16, etc.
homepage
repositoryhttps://github.com/jwnhy/endiantype
max_upload_size
id433651
size15,816
jwnhy (jwnhy)

documentation

https://docs.rs/endiantype

README

Endian Type

Crate API

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.

Usage

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::*;

Features

Here is some features of endiantype crate.

[no-std] Support

This crate can be used without std support with no requirements or additional features needed as it only relies on core.

Drop-in replacement

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);
Commit count: 20

cargo fmt