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 # Binary Encoder / Decoder
A compact encoder / decoder pair that uses an binary encoding scheme similar A compact encoder / decoder pair that uses an binary zero-fluff encoding scheme.
to how the data is laid out in memory. 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)