// Copyright (C) 2016-2017 Sebastian Dröge // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. pub use byteorder::{ReadBytesExt, WriteBytesExt, LittleEndian, BigEndian}; use std::io; pub trait ReadBytesExtShort: io::Read { fn read_u16le(&mut self) -> io::Result { self.read_u16::() } fn read_i16le(&mut self) -> io::Result { self.read_i16::() } fn read_u32le(&mut self) -> io::Result { self.read_u32::() } fn read_i32le(&mut self) -> io::Result { self.read_i32::() } fn read_u64le(&mut self) -> io::Result { self.read_u64::() } fn read_i64le(&mut self) -> io::Result { self.read_i64::() } fn read_uintle(&mut self, nbytes: usize) -> io::Result { self.read_uint::(nbytes) } fn read_intle(&mut self, nbytes: usize) -> io::Result { self.read_int::(nbytes) } fn read_f32le(&mut self) -> io::Result { self.read_f32::() } fn read_f64le(&mut self) -> io::Result { self.read_f64::() } fn read_u16be(&mut self) -> io::Result { self.read_u16::() } fn read_i16be(&mut self) -> io::Result { self.read_i16::() } fn read_u32be(&mut self) -> io::Result { self.read_u32::() } fn read_i32be(&mut self) -> io::Result { self.read_i32::() } fn read_u64be(&mut self) -> io::Result { self.read_u64::() } fn read_i64be(&mut self) -> io::Result { self.read_i64::() } fn read_uintbe(&mut self, nbytes: usize) -> io::Result { self.read_uint::(nbytes) } fn read_intbe(&mut self, nbytes: usize) -> io::Result { self.read_int::(nbytes) } fn read_f32be(&mut self) -> io::Result { self.read_f32::() } fn read_f64be(&mut self) -> io::Result { self.read_f64::() } } impl ReadBytesExtShort for T where T: ReadBytesExt {} pub trait WriteBytesExtShort: WriteBytesExt { fn write_u16le(&mut self, n: u16) -> io::Result<()> { self.write_u16::(n) } fn write_i16le(&mut self, n: i16) -> io::Result<()> { self.write_i16::(n) } fn write_u32le(&mut self, n: u32) -> io::Result<()> { self.write_u32::(n) } fn write_i32le(&mut self, n: i32) -> io::Result<()> { self.write_i32::(n) } fn write_u64le(&mut self, n: u64) -> io::Result<()> { self.write_u64::(n) } fn write_i64le(&mut self, n: i64) -> io::Result<()> { self.write_i64::(n) } fn write_uintle(&mut self, n: u64, nbytes: usize) -> io::Result<()> { self.write_uint::(n, nbytes) } fn write_intle(&mut self, n: i64, nbytes: usize) -> io::Result<()> { self.write_int::(n, nbytes) } fn write_f32le(&mut self, n: f32) -> io::Result<()> { self.write_f32::(n) } fn write_f64le(&mut self, n: f64) -> io::Result<()> { self.write_f64::(n) } fn write_u16be(&mut self, n: u16) -> io::Result<()> { self.write_u16::(n) } fn write_i16be(&mut self, n: i16) -> io::Result<()> { self.write_i16::(n) } fn write_u32be(&mut self, n: u32) -> io::Result<()> { self.write_u32::(n) } fn write_i32be(&mut self, n: i32) -> io::Result<()> { self.write_i32::(n) } fn write_u64be(&mut self, n: u64) -> io::Result<()> { self.write_u64::(n) } fn write_i64be(&mut self, n: i64) -> io::Result<()> { self.write_i64::(n) } fn write_uintbe(&mut self, n: u64, nbytes: usize) -> io::Result<()> { self.write_uint::(n, nbytes) } fn write_intbe(&mut self, n: i64, nbytes: usize) -> io::Result<()> { self.write_int::(n, nbytes) } fn write_f32be(&mut self, n: f32) -> io::Result<()> { self.write_f32::(n) } fn write_f64be(&mut self, n: f64) -> io::Result<()> { self.write_f64::(n) } } impl WriteBytesExtShort for T where T: WriteBytesExt {}