# Function ethcore_util::standard::io::copy 1.0.0 [−] [src]

    pub fn copy<R, W>(reader: &mut R, writer: &mut W) -> Result<u64, Error> where R: Read + ?Sized, W: Write + ?Sized

Copies the entire contents of a reader into a writer.

This function will continuously read data from `reader` and then write it into `writer` in a streaming fashion until `reader` returns EOF.

On success, the total number of bytes that were copied from `reader` to `writer` is returned.

# Errors

This function will return an error immediately if any call to `read` or `write` returns an error. All instances of `ErrorKind::Interrupted` are handled by this function and the underlying operation is retried.

# Examples

    use std::io;

    let mut reader: &[u8] = b"hello";
    let mut writer: Vec<u8> = vec![];

    try!(io::copy(&mut reader, &mut writer));

    assert_eq!(reader, &writer[..]);

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)