Update for stabilized io::Error

As per https://github.com/rust-lang/rust/pull/23919, the last argument
was removed from Error::new, and the Clone, Eq, and PartialEq traits
were removed from Error.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2 files changed
tree: 94c241f22cbe9d51bbf790a3b9a6e3cbabcd833a
  1. src/
  2. .gitignore
  3. .travis.yml
  4. Cargo.toml
  5. Makefile
  6. README.md
  7. session.vim
  8. UNLICENSE
README.md

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.

This crate currently supports both the std::io and std::old_io modules.

Build status

Licensed under the UNLICENSE.

Documentation

http://burntsushi.net/rustdoc/byteorder/.

The documentation includes examples.

Installation

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::{ReaderBytesExt, WriterBytesExt, 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, ReaderBytesExt};

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());