2 unstable releases
0.2.0 | Nov 21, 2023 |
---|---|
0.1.1 | Nov 20, 2023 |
#14 in #swapping
Used in swapbytes
5KB
66 lines
Swapbytes
Rust library for swapping the endianess of a structure using a derive macro
Cargo
Using swapbytes
with cargo
[dependencies]
swapbytes = "0.2"
or
cargo add swapbytes
use swapbytes::SwapBytes;
#[derive(SwapBytes)]
pub struct Test {
pub a: u32,
pub b: u32,
/// Skip this field
#[sb(skip)]
pub b: String,
}
let mut value: Test = Test { a: 1, b: 4 };
value.swap_bytes_mut();
/* Enum must implement Clone, Copy */
#[derive(SwapBytes, Clone, Copy)]
#[repr(u32)] /* Only number repr types are supported */
pub enum ReprEnum {
A = 1,
B = 2
}
Dependencies
~0.5–1MB
~23K SLoC