Struct std::io::Chain 1.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.
Implementations
impl<T, U> Chain<T, U>[src]
impl<T, U> Chain<T, U>[src]pub fn into_inner(self) -> (T, U)1.20.0[src]
pub fn into_inner(self) -> (T, U)1.20.0[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
pub fn get_ref(&self) -> (&T, &U)1.20.0[src]
pub fn get_ref(&self) -> (&T, &U)1.20.0[src]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)1.20.0[src]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: BufRead, U: BufRead> BufRead for Chain<T, U>1.9.0[src]
impl<T: BufRead, U: BufRead> BufRead for Chain<T, U>1.9.0[src]fn fill_buf(&mut self) -> Result<&[u8]>[src]
fn fill_buf(&mut self) -> Result<&[u8]>[src]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)[src]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>[src]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>[src]Read all bytes until a newline (the 0xA byte) is reached, and append
them to the provided buffer. Read more
impl<T: Read, U: Read> Read for Chain<T, U>[src]
impl<T: Read, U: Read> Read for Chain<T, U>[src]fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src]Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>[src]
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>[src]Like read, except that it reads into a slice of buffers. Read more
unsafe fn initializer(&self) -> Initializer[src]
unsafe fn initializer(&self) -> Initializer[src]Determines if this Reader can work with buffers of uninitialized
memory. Read more
fn is_read_vectored(&self) -> bool[src]
fn is_read_vectored(&self) -> bool[src]Determines if this Reader has an efficient read_vectored
implementation. 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>[src]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>[src]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<()>1.6.0[src]Read the exact number of bytes required to fill buf. Read more
fn by_ref(&mut self) -> &mut SelfⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W where
Self: Sized, [src]
fn by_ref(&mut self) -> &mut SelfⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W where
Self: Sized, [src]Creates a “by reference” adaptor for this instance of Read. Read more
Auto Trait Implementations
impl<T, U> RefUnwindSafe for Chain<T, U> where
T: RefUnwindSafe,
U: RefUnwindSafe,
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<T, U> Send for Chain<T, U> where
T: Send,
U: Send,
T: Send,
U: Send,
impl<T, U> Sync for Chain<T, U> where
T: Sync,
U: Sync,
T: Sync,
U: Sync,
impl<T, U> Unpin for Chain<T, U> where
T: Unpin,
U: Unpin,
T: Unpin,
U: Unpin,
impl<T, U> UnwindSafe for Chain<T, U> where
T: UnwindSafe,
U: UnwindSafe,
T: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
impl<T> Borrow<T> for T where
T: ?Sized, [src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]
pub fn borrow(&self) -> &TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]Immutably borrows from an owned value. Read more
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]
pub fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut I
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<'_, F> Future for &'_ mut F where
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;impl<R: Read + ?Sized> Read for &mut Rimpl<W: Write + ?Sized> Write for &mut W[src]Mutably borrows from an owned value. Read more