1.0.0[−][src]Struct std::io::Chain  
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] 
impl<T, U> Chain<T, U>pub fn into_inner(self) -> (T, U)1.20.0[src] 
pub fn into_inner(self) -> (T, U)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
pub fn get_ref(&self) -> (&T, &U)1.20.0[src] 
pub fn get_ref(&self) -> (&T, &U)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
pub fn get_mut(&mut self) -> (&mut T, &mut U)1.20.0[src] 
pub fn get_mut(&mut self) -> (&mut T, &mut U)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] 
impl<T: Debug, U: Debug> Debug for Chain<T, U>fn fmt(&self, f: &mut Formatter) -> Result[src] 
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<T: Read, U: Read> Read for Chain<T, U>[src] 
impl<T: Read, U: Read> Read for Chain<T, U>fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src] 
fn read(&mut self, buf: &mut [u8]) -> Result<usize>Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
unsafe fn initializer(&self) -> Initializer[src] 
unsafe fn initializer(&self) -> InitializerDetermines if this Reader can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>[src] 
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>Read all bytes until EOF in this source, placing them into buf. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>[src] 
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>Read all bytes until EOF in this source, appending them to buf. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>1.6.0[src] 
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>Read the exact number of bytes required to fill buf. Read more
ⓘImportant traits for &'a mut Ifn by_ref(&mut self) -> &mut Self where
    Self: Sized, [src] 
fn by_ref(&mut self) -> &mut Self where
    Self: Sized, Creates a "by reference" adaptor for this instance of Read. Read more
ⓘImportant traits for Bytes<R>fn bytes(self) -> Bytes<Self> where
    Self: Sized, [src] 
fn bytes(self) -> Bytes<Self> where
    Self: Sized, Transforms this Read instance to an [Iterator] over its bytes. Read more
ⓘImportant traits for Chain<T, U>fn chain<R: Read>(self, next: R) -> Chain<Self, R> where
    Self: Sized, [src] 
fn chain<R: Read>(self, next: R) -> Chain<Self, R> where
    Self: Sized, Creates an adaptor which will chain this stream with another. Read more
ⓘImportant traits for Take<T>fn take(self, limit: u64) -> Take<Self> where
    Self: Sized, [src] 
fn take(self, limit: u64) -> Take<Self> where
    Self: Sized, 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] 
impl<T: BufRead, U: BufRead> BufRead for Chain<T, U>fn fill_buf(&mut self) -> Result<&[u8]>[src] 
fn fill_buf(&mut self) -> Result<&[u8]>Returns the contents of the internal buffer, filling it with more data from the inner reader if it is empty. Read more
fn consume(&mut self, amt: usize)[src] 
fn consume(&mut self, amt: usize)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
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize>[src] 
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize>Read all bytes into buf until the delimiter byte or EOF is reached. Read more
fn read_line(&mut self, buf: &mut String) -> Result<usize>[src] 
fn read_line(&mut self, buf: &mut String) -> Result<usize>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>fn split(self, byte: u8) -> Split<Self> where
    Self: Sized, [src] 
fn split(self, byte: u8) -> Split<Self> where
    Self: Sized, Returns an iterator over the contents of this reader split on the byte byte. Read more
ⓘImportant traits for Lines<B>fn lines(self) -> Lines<Self> where
    Self: Sized, [src] 
fn lines(self) -> Lines<Self> where
    Self: Sized, 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> Send for Chain<T, U> where
    T: Send,
    U: Send, impl<T, U> Sync for Chain<T, U> where
    T: Sync,
    U: Sync, 
impl<T, U> Sync for Chain<T, U> where
    T: Sync,
    U: Sync, Blanket Implementations
impl<T> From for T[src] 
impl<T> From for Timpl<T, U> TryFrom for T where
    T: From<U>, [src] 
impl<T, U> TryFrom for T where
    T: From<U>, type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src] 
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>Performs the conversion.
impl<T, U> TryInto for T where
    U: TryFrom<T>, [src] 
impl<T, U> TryInto for T where
    U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src] 
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>Performs the conversion.
impl<T, U> Into for T where
    U: From<T>, [src] 
impl<T, U> Into for T where
    U: From<T>, impl<T> Borrow for T where
    T: ?Sized, [src] 
impl<T> Borrow for T where
    T: ?Sized, ⓘImportant traits for &'a mut Ifn borrow(&self) -> &T[src] 
fn borrow(&self) -> &TImmutably borrows from an owned value. Read more
impl<T> BorrowMut for T where
    T: ?Sized, [src] 
impl<T> BorrowMut for T where
    T: ?Sized, ⓘImportant traits for &'a mut Ifn borrow_mut(&mut self) -> &mut T[src] 
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
    T: 'static + ?Sized, [src] 
impl<T> Any for T where
    T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src] 
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API.  (get_type_id #27745)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more