Struct std::io::Chain1.0.0 [] [src]

pub struct Chain<T, U> { /* fields omitted */ }
[]

Adaptor to chain together two readers.

This struct is generally created by calling chain on a reader. Please see the documentation of chain for more details.

Methods

impl<T, U> Chain<T, U>
[src]
[]

[]

Consumes the Chain, returning the wrapped readers.

Examples

use std::io;
use std::io::prelude::*;
use std::fs::File;

fn main() -> io::Result<()> {
    let mut foo_file = File::open("foo.txt")?;
    let mut bar_file = File::open("bar.txt")?;

    let chain = foo_file.chain(bar_file);
    let (foo_file, bar_file) = chain.into_inner();
    Ok(())
}Run

[]

Gets references to the underlying readers in this Chain.

Examples

use std::io;
use std::io::prelude::*;
use std::fs::File;

fn main() -> io::Result<()> {
    let mut foo_file = File::open("foo.txt")?;
    let mut bar_file = File::open("bar.txt")?;

    let chain = foo_file.chain(bar_file);
    let (foo_file, bar_file) = chain.get_ref();
    Ok(())
}Run

[]

Gets mutable references to the underlying readers in this Chain.

Care should be taken to avoid modifying the internal I/O state of the underlying readers as doing so may corrupt the internal state of this Chain.

Examples

use std::io;
use std::io::prelude::*;
use std::fs::File;

fn main() -> io::Result<()> {
    let mut foo_file = File::open("foo.txt")?;
    let mut bar_file = File::open("bar.txt")?;

    let mut chain = foo_file.chain(bar_file);
    let (foo_file, bar_file) = chain.get_mut();
    Ok(())
}Run

Trait Implementations

impl<T: Debug, U: Debug> Debug for Chain<T, U>
1.16.0
[src]
[+]

[]

Formats the value using the given formatter. Read more

impl<T: Read, U: Read> Read for Chain<T, U>
[src]
[+]

[]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

[]

🔬 This is a nightly-only experimental API. (read_initializer #42788)

Determines if this Reader can work with buffers of uninitialized memory. Read more

[]

Read all bytes until EOF in this source, placing them into buf. Read more

[]

Read all bytes until EOF in this source, appending them to buf. Read more

[]

Read the exact number of bytes required to fill buf. Read more

Important traits for &'a mut I
[]

Creates a "by reference" adaptor for this instance of Read. Read more

Important traits for Bytes<R>
[]

Transforms this Read instance to an [Iterator] over its bytes. Read more

Important traits for Chars<R>
[]

🔬 This is a nightly-only experimental API. (io #27802)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an [Iterator] over [char]s. Read more

Important traits for Chain<T, U>
[]

Creates an adaptor which will chain this stream with another. Read more

Important traits for Take<T>
[]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<T: BufRead, U: BufRead> BufRead for Chain<T, U>
1.9.0
[src]
[+]

[]

Fills the internal buffer of this object, returning the buffer contents. Read more

[]

Tells this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to read. Read more

[]

Read all bytes into buf until the delimiter byte or EOF is reached. Read more

[]

Read all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more

Important traits for Split<B>
[]

Returns an iterator over the contents of this reader split on the byte byte. Read more

Important traits for Lines<B>
[]

Returns an iterator over the lines of this reader. Read more

Auto Trait Implementations

impl<T, U> Send for Chain<T, U> where
    T: Send,
    U: Send

impl<T, U> Sync for Chain<T, U> where
    T: Sync,
    U: Sync