mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
doc: add some links for io::stdio
This commit is contained in:
parent
a06bb977d8
commit
6d388da45f
@ -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>>>,
|
||||
|
Loading…
Reference in New Issue
Block a user