commit | 1cbf90d8d7b76975a9d6ae051a0e731f2bf64fcb | [log] [tgz] |
---|---|---|
author | Cesar Eduardo Barros <cesarb@cesarb.eti.br> | Sun Jul 05 20:18:23 2015 -0300 |
committer | Cesar Eduardo Barros <cesarb@cesarb.eti.br> | Sun Jul 05 20:18:23 2015 -0300 |
tree | b9edb6b080135ecb930eb18cfbebe915e289f22f | |
parent | 2358ace61332e59f596c9006e1344c97295fdf72 [diff] |
Add #[inline] to allow for cross-crate inlining
This crate provides convenience methods for encoding and decoding numbers in either big-endian or little-endian order. This is meant to replace the old methods defined on the standard library Reader
and Writer
traits.
Dual-licensed under MIT or the UNLICENSE.
http://burntsushi.net/rustdoc/byteorder/.
The documentation includes examples.
This crate works with Cargo and is on crates.io. The package is regularly updated. Add is to your Cargo.toml
like so:
[dependencies] byteorder = "*"
If you want to augment existing Reader
and Writer
types, then import the extension methods like so:
extern crate byteorder; use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian};
Or use the ReadBytesExt
/WriteBytesExt
traits if you're using the new std::io
module.
For example:
use std::old_io::MemReader; use byteorder::{BigEndian, ReadBytesExt}; let mut rdr = MemReader::new(vec![2, 5, 3, 0]); // Note that we use type parameters to indicate which kind of byte order // we want! assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap()); assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());