changes to libs
This commit is contained in:
@@ -712,17 +712,6 @@ pub trait Reader {
|
||||
})
|
||||
}
|
||||
|
||||
/// Create an iterator that reads a single byte on
|
||||
/// each iteration, until EOF.
|
||||
///
|
||||
/// # Error
|
||||
///
|
||||
/// Any error other than `EndOfFile` that is produced by the underlying Reader
|
||||
/// is returned by the iterator and should be handled by the caller.
|
||||
fn bytes<'r>(&'r mut self) -> extensions::Bytes<'r, Self> {
|
||||
extensions::Bytes::new(self)
|
||||
}
|
||||
|
||||
// Byte conversion helpers
|
||||
|
||||
/// Reads `n` little-endian unsigned integer bytes.
|
||||
@@ -932,7 +921,10 @@ pub trait Reader {
|
||||
fn read_i8(&mut self) -> IoResult<i8> {
|
||||
self.read_byte().map(|i| i as i8)
|
||||
}
|
||||
}
|
||||
|
||||
/// A reader which can be converted to a RefReader.
|
||||
pub trait AsRefReader {
|
||||
/// Creates a wrapper around a mutable reference to the reader.
|
||||
///
|
||||
/// This is useful to allow applying adaptors while still
|
||||
@@ -942,6 +934,20 @@ pub trait Reader {
|
||||
}
|
||||
}
|
||||
|
||||
/// A reader which can be converted to bytes.
|
||||
pub trait BytesReader: Reader {
|
||||
/// Create an iterator that reads a single byte on
|
||||
/// each iteration, until EOF.
|
||||
///
|
||||
/// # Error
|
||||
///
|
||||
/// Any error other than `EndOfFile` that is produced by the underlying Reader
|
||||
/// is returned by the iterator and should be handled by the caller.
|
||||
fn bytes<'r>(&'r mut self) -> extensions::Bytes<'r, Self> {
|
||||
extensions::Bytes::new(self)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> Reader for Box<Reader+'a> {
|
||||
fn read(&mut self, buf: &mut [u8]) -> IoResult<uint> {
|
||||
let reader: &mut Reader = &mut **self;
|
||||
@@ -986,6 +992,7 @@ unsafe fn slice_vec_capacity<'a, T>(v: &'a mut Vec<T>, start: uint, end: uint) -
|
||||
/// # fn process_input<R: Reader>(r: R) {}
|
||||
/// # fn foo() {
|
||||
/// use std::io;
|
||||
/// use std::io::AsRefReader;
|
||||
/// use std::io::util::LimitReader;
|
||||
///
|
||||
/// let mut stream = io::stdin();
|
||||
@@ -1268,7 +1275,10 @@ pub trait Writer {
|
||||
fn write_i8(&mut self, n: i8) -> IoResult<()> {
|
||||
self.write([n as u8])
|
||||
}
|
||||
}
|
||||
|
||||
/// A writer which can be converted to a RefWriter.
|
||||
pub trait AsRefWriter {
|
||||
/// Creates a wrapper around a mutable reference to the writer.
|
||||
///
|
||||
/// This is useful to allow applying wrappers while still
|
||||
@@ -1309,7 +1319,7 @@ impl<'a> Writer for &'a mut Writer+'a {
|
||||
/// # fn process_input<R: Reader>(r: R) {}
|
||||
/// # fn foo () {
|
||||
/// use std::io::util::TeeReader;
|
||||
/// use std::io::{stdin, MemWriter};
|
||||
/// use std::io::{stdin, MemWriter, AsRefWriter};
|
||||
///
|
||||
/// let mut output = MemWriter::new();
|
||||
///
|
||||
|
||||
Reference in New Issue
Block a user