1.0.0[−][src]Struct std::io::Chain

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: Read, U: Read> Read for Chain<T, U>
[src]

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 &'_ 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 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]

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

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

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, 

Blanket Implementations

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

impl<T> From for T
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut for T where
    T: ?Sized, 
[src]

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]