2 个版本
| 0.1.1 | 2022年1月19日 | 
|---|---|
| 0.1.0 | 2022年1月19日 | 
#250 in #atomic
7KB
83 行
atomic_macro
用法
#[atomic_macro::atomic(32)]
struct SomeStruct {
    field_one: u8,
    field_two: u16,
}
impl From<u32> for SomeStruct {
    fn from(value: u32) -> Self {
        ...
    }
}
impl From<SomeStruct> for u32 {
    fn from(value: SomeStruct) -> Self {
        ...
    }
}
生成
enum AtomicSomeStruct(AtomicU32);
impl AtomicSomeStruct {
    fn load(&self, order: Ordering) -> SomeStruct;
    fn store(&self, val: SomeStruct, order: Ordering);
    ...
}
依赖项
~1.5MB
~35K SLoC