doc: add some links for io::stdio

This commit is contained in:
Tshepang Lekhonkhobe 2015-12-24 02:52:27 +02:00
parent a06bb977d8
commit 6d388da45f

View File

@ -133,14 +133,17 @@ fn handle_ebadf<T>(r: io::Result<T>, default: T) -> io::Result<T> {
/// A handle to the standard input stream of a process.
///
/// Each handle is a shared reference to a global buffer of input data to this
/// process. A handle can be `lock`'d to gain full access to `BufRead` methods
/// process. A handle can be `lock`'d to gain full access to [BufRead] methods
/// (e.g. `.lines()`). Writes to this handle are otherwise locked with respect
/// to other writes.
///
/// This handle implements the `Read` trait, but beware that concurrent reads
/// of `Stdin` must be executed with care.
///
/// Created by the function `io::stdin()`.
/// Created by the [io::stdin] method.
///
/// [io::stdin]: fn.stdin.html
/// [BufRead]: trait.BufRead.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Stdin {
inner: Arc<Mutex<BufReader<Maybe<StdinRaw>>>>,
@ -148,8 +151,12 @@ pub struct Stdin {
/// A locked reference to the `Stdin` handle.
///
/// This handle implements both the `Read` and `BufRead` traits and is
/// constructed via the `lock` method on `Stdin`.
/// This handle implements both the [Read] and [BufRead] traits, and
/// is constructed via the [Stdin::lock] method.
///
/// [Read]: trait.Read.html
/// [BufRead]: trait.BufRead.html
/// [Stdin::lock]: struct.Stdin.html#method.lock
#[stable(feature = "rust1", since = "1.0.0")]
pub struct StdinLock<'a> {
inner: MutexGuard<'a, BufReader<Maybe<StdinRaw>>>,
@ -221,8 +228,11 @@ impl Stdin {
/// guard.
///
/// The lock is released when the returned lock goes out of scope. The
/// returned guard also implements the `Read` and `BufRead` traits for
/// returned guard also implements the [Read] and [BufRead] traits for
/// accessing the underlying data.
///
/// [Read]: trait.Read.html
/// [BufRead]: trait.BufRead.html
#[stable(feature = "rust1", since = "1.0.0")]
pub fn lock(&self) -> StdinLock {
StdinLock { inner: self.inner.lock().unwrap_or_else(|e| e.into_inner()) }
@ -231,7 +241,9 @@ impl Stdin {
/// Locks this handle and reads a line of input into the specified buffer.
///
/// For detailed semantics of this method, see the documentation on
/// `BufRead::read_line`.
/// [BufRead::read_line].
///
/// [BufRead::read_line]: trait.BufRead.html#method.read_line
///
/// # Examples
///
@ -314,7 +326,9 @@ const OUT_MAX: usize = ::usize::MAX;
/// output stream. Access is also synchronized via a lock and explicit control
/// over locking is available via the `lock` method.
///
/// Created by the function `io::stdout()`.
/// Created by the [io::stdout] method.
///
/// [io::stdout]: fn.stdout.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Stdout {
// FIXME: this should be LineWriter or BufWriter depending on the state of
@ -325,8 +339,11 @@ pub struct Stdout {
/// A locked reference to the `Stdout` handle.
///
/// This handle implements the `Write` trait and is constructed via the `lock`
/// method on `Stdout`.
/// This handle implements the [Write] trait, and is constructed via
/// the [Stdout::lock] method.
///
/// [Write]: trait.Write.html
/// [Stdout::lock]: struct.Stdout.html#method.lock
#[stable(feature = "rust1", since = "1.0.0")]
pub struct StdoutLock<'a> {
inner: ReentrantMutexGuard<'a, RefCell<LineWriter<Maybe<StdoutRaw>>>>,
@ -336,9 +353,9 @@ pub struct StdoutLock<'a> {
///
/// Each handle returned is a reference to a shared global buffer whose access
/// is synchronized via a mutex. If you need more explicit control over
/// locking, see the [lock() method][lock].
/// locking, see the [Stdout::lock] method.
///
/// [lock]: struct.Stdout.html#method.lock
/// [Stdout::lock]: struct.Stdout.html#method.lock
///
/// # Examples
///
@ -424,7 +441,9 @@ impl<'a> Write for StdoutLock<'a> {
/// A handle to the standard error stream of a process.
///
/// For more information, see `stderr`
/// For more information, see the [io::stderr] method.
///
/// [io::stderr]: fn.stderr.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Stderr {
inner: Arc<ReentrantMutex<RefCell<Maybe<StderrRaw>>>>,
@ -432,8 +451,10 @@ pub struct Stderr {
/// A locked reference to the `Stderr` handle.
///
/// This handle implements the `Write` trait and is constructed via the `lock`
/// method on `Stderr`.
/// This handle implements the `Write` trait and is constructed via
/// the [Stderr::lock] method.
///
/// [Stderr::lock]: struct.Stderr.html#method.lock
#[stable(feature = "rust1", since = "1.0.0")]
pub struct StderrLock<'a> {
inner: ReentrantMutexGuard<'a, RefCell<Maybe<StderrRaw>>>,