Trait Argument

Source
pub trait Argument: Sized {
    // Required methods
    fn read(read: &mut dyn BufRead) -> Result<Self, Error>;
    fn write(&self, write: &mut dyn Write) -> Result<(), Error>;

    // Provided methods
    fn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error> { ... }
    fn parse_text(text: &str) -> Self { ... }
    fn bytes(&self) -> Vec<u8>  { ... }
    fn to_string(&self) -> String { ... }
}
Expand description

An argument to a command.

Required Methods§

Source

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Provided Methods§

Source

fn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error>

Read an argument with a leading space character.

Most argument types don’t care about leading spaces. These types can instead override read.

Source

fn parse_text(text: &str) -> Self

Source

fn bytes(&self) -> Vec<u8>

Source

fn to_string(&self) -> String

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Argument for i8

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for i16

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for i32

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for i64

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for u8

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for u16

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for u32

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for u64

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl Argument for String

Source§

fn read(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Source§

impl<T: Argument> Argument for Option<T>

Source§

fn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn read(_read: &mut dyn BufRead) -> Result<Self, Error>

Source§

fn write(&self, write: &mut dyn Write) -> Result<(), Error>

Implementors§