scroll_derive

Macros 1.1 implementing #[derive(Pread, Pwrite)] for https://github.com/m4b/scroll

Add derive annotations to your POD seamlessly and easily:

```rust extern crate scroll;

[macro_use]

extern crate scroll_derive;

[derive(Debug, PartialEq, Pread, Pwrite, IOread, IOwrite, SizeWith)]

[repr(C)]

struct Data { id: u32, timestamp: f64, arr: [u16; 2], }

use scroll::{Pread, Pwrite, Cread, LE};

fn main (){ let bytes = [0xefu8, 0xbe, 0xad, 0xde, 0, 0, 0, 0, 0, 0, 224, 63, 0xad, 0xde, 0xef, 0xbe]; let data: Data = bytes.preadwith(0, LE).unwrap(); println!("data: {:?}", &data); asserteq!(data.id, 0xdeadbeefu32); let mut bytes2 = vec![0; ::std::mem::sizeof::()]; bytes2.pwritewith(data, 0, LE).unwrap(); let data: Data = bytes.preadwith(0, LE).unwrap(); let data2: Data = bytes2.preadwith(0, LE).unwrap(); assert_eq!(data, data2);

let data: Data = bytes.cread_with(0, LE);
assert_eq!(data, data2);

} ```