mark ByteOrder trait with MarkerTrait
1 file changed
tree: f21a548af8dd2e53942cbf033b2048e37048a0f1
  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.

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};

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