@@ -4,7 +4,7 @@ use byteorder::{
44 BigEndian , LittleEndian , NativeEndian , NetworkEndian , ReadBytesExt , WriteBytesExt ,
55} ;
66use std:: fmt:: Arguments ;
7- use std:: io:: { Read , Result as IoResult , Write } ;
7+ use std:: io:: { BufRead , Read , Result as IoResult , Seek , SeekFrom , Write } ;
88use { Endian , Endianness , StaticEndianness } ;
99
1010/// Wrapper type for a reader or writer with an assumed byte order.
@@ -536,6 +536,36 @@ where
536536 }
537537}
538538
539+ impl < T , E > BufRead for ByteOrdered < T , E >
540+ where
541+ T : BufRead ,
542+ {
543+ fn fill_buf ( & mut self ) -> IoResult < & [ u8 ] > {
544+ self . inner . fill_buf ( )
545+ }
546+
547+ fn consume ( & mut self , amt : usize ) {
548+ self . inner . consume ( amt)
549+ }
550+
551+ fn read_until ( & mut self , byte : u8 , buf : & mut Vec < u8 > ) -> IoResult < usize > {
552+ self . inner . read_until ( byte, buf)
553+ }
554+
555+ fn read_line ( & mut self , buf : & mut String ) -> IoResult < usize > {
556+ self . inner . read_line ( buf)
557+ }
558+ }
559+
560+ impl < T , E > Seek for ByteOrdered < T , E >
561+ where
562+ T : Seek ,
563+ {
564+ fn seek ( & mut self , pos : SeekFrom ) -> IoResult < u64 > {
565+ self . inner . seek ( pos)
566+ }
567+ }
568+
539569#[ cfg( test) ]
540570mod tests {
541571 // TODO test moar
0 commit comments