bytelike-derive 0.1.2

Derive macros for bytelike new types
Documentation

ByteLike Derive

CI Crates.io Version

ByteLike Derive is a procedural macro crate for deriving ByteLike functions for deriving byte-like new types.

It's a procedural macro that was created based off the implementation of Bytesize.

Usage

Add this to your Cargo.toml

[dependencies]
bytelike = { version = "0.1" }
bytelike-derive = { version = "0.1", features = ["serde"] }
serde = { version = "1.0" }
serde_derive = { version = "1.0" }

Or if don't want serde:

[dependencies]
bytelike = { version = "0.1" }
bytelike-derive = { version = "0.1" }

Next, define your new type and derive ByteLike for it:

use bytelike_derive::ByteLike;

#[derive(ByteLike)]
pub struct NewType(pub u64);

Now you can do lots of useful byte-like things with your new type:

let new_type: NewType = "5KiB".parse().unwrap();
let other_type: NewType = NewType::kib(5);
let sum = new_type + other_type;