Enum clio::Output[][src]

pub enum Output {
    Stdout(Stdout),
    Pipe(OsStringFile),
    File(OsStringFile),
}
Expand description

An enum that represents a command line output stream, either std out or a file

Variants

Stdout(Stdout)
Pipe(OsStringFile)
File(OsStringFile)

Implementations

impl Output[src]

pub fn new<S: AsRef<OsStr>>(path: S) -> Result<Self>[src]

Contructs a new output either by opening/creating the file or for ‘-’ returning stdout

pub fn try_from_os_str(path: &OsStr) -> Result<Self, OsString>[src]

Contructs a new output either by opening/creating the file or for ‘-’ returning stdout The error is converted to a OsString so that stuctopt can show it to the user

pub fn finish(self) -> Result<()>[src]

Syncs the file to disk or closes any HTTP connections and returns any errors or on the file if a regular file

pub fn lock<'a>(&'a mut self) -> Box<dyn Write + 'a>[src]

If the output is std out locks it. usefull in multithreaded context to write lines consistently

Examples

let mut file = clio::Output::new("-")?;

writeln!(file.lock(), "hello world")?;

Trait Implementations

impl Debug for Output[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Display for Output[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl TryFrom<&'_ OsStr> for Output[src]

type Error = OsString

The type returned in the event of a conversion error.

fn try_from(file_name: &OsStr) -> Result<Self, OsString>[src]

Performs the conversion.

impl Write for Output[src]

fn flush(&mut self) -> IoResult<()>[src]

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

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

Write a buffer into this writer, returning how many bytes were written. Read more

fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>1.36.0[src]

Like write, except that it writes from a slice of buffers. Read more

fn is_write_vectored(&self) -> bool[src]

🔬 This is a nightly-only experimental API. (can_vector)

Determines if this Writer has an efficient write_vectored implementation. Read more

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

Attempts to write an entire buffer into this writer. Read more

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>[src]

🔬 This is a nightly-only experimental API. (write_all_vectored)

Attempts to write multiple buffers into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>1.0.0[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a “by reference” adaptor for this instance of Write. Read more

Auto Trait Implementations

impl RefUnwindSafe for Output

impl Send for Output

impl Sync for Output

impl Unpin for Output

impl UnwindSafe for Output

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.