[][src]Enum wbuf::InputOutput

pub enum InputOutput {
    Standard(StdinStdout),
    Memory(Cursor<Vec<u8>>),
    File(File),
}

Duplex I/O buffer wrapper type. Wraps stdin/stdout, a read/write Cursor, or a readable/writable file buffer.

Variants

Standard(StdinStdout)
Memory(Cursor<Vec<u8>>)
File(File)

Methods

impl InputOutput[src]

Important traits for InputOutput
pub fn stdio() -> InputOutput[src]

Returns an InputOutput wrapping stdin and stdout.

Important traits for InputOutput
pub fn memory() -> InputOutput[src]

Returns an InputOutput wrapping a Cursor.

pub fn file(path: &str) -> Result<InputOutput>[src]

Returns an InputOutput wrapping a readable and writable file.

pub fn from_arg(arg: Option<&str>) -> Result<InputOutput>[src]

Returns either a wrapped file buffer, or stdin, depending on the argument passed in.

The function selects the buffer following these rules:

  • No value, or the a literal "-" returns stdin.
  • Any other value returns a wrapped file buffer. The file is opened with std::fs::OpenOptions, therefore the file is required to exist, and be readable and writable for the operation to succeed.

Trait Implementations

impl Read for InputOutput[src]

fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>[src]

Read from the underlying buffer.

impl Write for InputOutput[src]

fn write(&mut self, buf: &[u8]) -> Result<usize, Error>[src]

Writes into the underlying buffer.

fn flush(&mut self) -> Result<(), Error>[src]

Flushes the underlying buffer.

Auto Trait Implementations

Blanket Implementations

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

impl<T> From<T> for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

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

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

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