A proc-macro to convert a struct into VecFrom trait on the struct.
The conversion is Big Endian by default.
We have made the following assumptions about the the struct:
u8u16u32u64u128usize[u8; N]#[byte_me($size)] attribute, where size is any of the positive integer types.#[derive(FromPrimitive)] from the num-derive crate.The num-derive crate is required to generate the FromPrimitive trait for enums. Having said that, the same
functionality can be achieved using num-enum crate. It provides furthur control over the enum data types,
and might prove handy. here is the discussion
on the topic.
```rust use byteme::ByteMe; pub use num_derive::FromPrimitive;
pub enum Mode { Unavailable = 0, Unauthenticated = 1, Authenticated = 2, Encrypted = 4, }
pub struct FrameOne { pub unused: [u8; 12], #[byte_me(u32)] pub mode: Mode, pub challenge: [u8; 16], pub salt: [u8; 16], pub count: u32, pub mbz: [u8; 12], };
let frame = FrameOne { unused: [0; 12], mode: Mode::Authenticated, challenge: [0; 16], salt: [0; 16], count: 1024, mbz: [0; 12], };
let size = FrameOne::SIZE; // Get the number of bytes in the frame
let bytes: Vec
License: Apache-2.0