From 654a6e12b7246e13fa0255371e7ee007ed9aeb81 Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Tue, 19 May 2015 09:49:04 -0700 Subject: [PATCH] Add example code and cross-link to BufReader docs --- src/libstd/io/buffered.rs | 18 ++++++++++++++++++ src/libstd/io/mod.rs | 5 ++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs index 43a2629261882..2e960976e0974 100644 --- a/src/libstd/io/buffered.rs +++ b/src/libstd/io/buffered.rs @@ -27,6 +27,24 @@ use iter; /// For example, every call to `read` on `TcpStream` results in a system call. /// A `BufReader` performs large, infrequent reads on the underlying `Read` /// and maintains an in-memory buffer of the results. +/// +/// # Examples +/// +/// ```no_run +/// use std::io::prelude::*; +/// use std::fs::BufReader; +/// use std::fs::File; +/// +/// # fn foo() -> std::io::Result<()> { +/// let mut f = try!(File::open("log.txt")); +/// let mut reader = BufReader::new(f); +/// +/// let mut line = String::new(); +/// let len = try!(reader.read_line(&mut line)); +/// println!("First line is {} bytes long", len); +/// # Ok(()) +/// # } +/// ``` #[stable(feature = "rust1", since = "1.0.0")] pub struct BufReader { inner: R, diff --git a/src/libstd/io/mod.rs b/src/libstd/io/mod.rs index e7b2b01d09f35..72a3a75d42241 100644 --- a/src/libstd/io/mod.rs +++ b/src/libstd/io/mod.rs @@ -506,11 +506,14 @@ fn read_until(r: &mut R, delim: u8, buf: &mut Vec) } } -/// A Buffer is a type of reader which has some form of internal buffering to +/// A `BufRead` is a type of reader which has some form of internal buffering to /// allow certain kinds of reading operations to be more optimized than others. /// /// This type extends the `Read` trait with a few methods that are not /// possible to reasonably implement with purely a read interface. +/// +/// You can use the [`BufReader` wrapper type](struct.BufReader.html) to turn any +/// reader into a buffered reader. #[stable(feature = "rust1", since = "1.0.0")] pub trait BufRead: Read { /// Fills the internal buffer of this object, returning the buffer contents.