# Orio
Lightweight and clean alternative to serde, focusing on writing to and from `Vec<u8>`s.
```rs
#[derive(Io)]
struct Thingy {
#[io(len(u16))]
name: String,
kind: ThingyKind,
#[io(ignore)]
debug: String
}
#[derive(Io)]
enum ThingyKind {
Normal,
Special(#[io(len(u8))] String)
}
let thingy = Thingy {
name: "thing".to_owned(),
kind: ThingyKind::Normal,
debug: "not written".to_owned()
}
let mut bytes = vec![];
thingy.write(&mut bytes);
```
Under the hood its a generic wrapper over little-endian [byteorder](lib.rs/byteorder) with a derive macro for structs and enums to use.
Named after the cookie :)
# License
[MIT license](/LICENSE)