#macro-derive #swapping #enums #field #repr #swapbytes #swap-bytes

swapbytes-derive

用于与swapbytes crate一起使用的过程宏

2个不稳定版本

0.2.0 2023年11月21日
0.1.1 2023年11月20日

#13 in #swapping

Download history 8/week @ 2024-03-12 4/week @ 2024-03-19 54/week @ 2024-03-26 25/week @ 2024-04-02 1/week @ 2024-04-23 2/week @ 2024-05-28 2/week @ 2024-06-04 96/week @ 2024-06-11

98 每月下载量
swapbytes 中使用

MIT 许可证

5KB
66

Swapbytes

License Cargo Version Cargo Downloads

Rust库,用于使用过程宏交换结构的字节序

Cargo

使用cargo与swapbytes配合

[dependencies]
swapbytes = "0.2"

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
}

依赖项

~0.6–1.1MB
~25K SLoC