update readme with example and better description

This commit is contained in:
Ty Overby 2014-09-17 02:44:15 -07:00
parent 1b316175cb
commit f7952f8cdb
2 changed files with 38 additions and 2 deletions

View File

@ -1,4 +1,33 @@
# Binary Encoder / Decoder
A compact encoder / decoder pair that uses an binary encoding scheme similar
to how the data is laid out in memory.
A compact encoder / decoder pair that uses an binary zero-fluff encoding scheme.
The size of the encoded object will be the same or smaller than the size that
the object takes up in memory in a running Rust program.
```rust
extern crate binary_encode;
extern crate serialize;
#[deriving(Encodable, Decodable, PartialEq)]
struct Entity {
x: f32,
y: f32,
}
#[deriving(Encodable, Decodable, PartialEq)]
struct World {
entities: Vec<Entity>
}
fn main() {
let world = World {
entities: vec![Entity {x: 0.0, y: 4.0}, Entity {x: 10.0, y: 20.5}]
};
let encoded: Vec<u8> = binary_encode::encode(&world).unwrap();
let decoded: World = binary_encode::decode(encoded).unwrap();
assert!(world == decoded);
}
```

7
readme.dev.md Normal file
View File

@ -0,0 +1,7 @@
# Binary Encoder / Decoder
A compact encoder / decoder pair that uses an binary zero-fluff encoding scheme.
The size of the encoded object will be the same or smaller than the size that
the object takes up in memory in a running Rust program.
^code(./examples/basic.rs)