pub trait StructOpt {
    // Required methods
    fn clap<'a, 'b>() -> App<'a, 'b>;
    fn from_clap(matches: &ArgMatches<'_>) -> Self;

    // Provided methods
    fn from_args() -> Self
       where Self: Sized { ... }
    fn from_args_safe() -> Result<Self, Error>
       where Self: Sized { ... }
    fn from_iter<I>(iter: I) -> Self
       where Self: Sized,
             I: IntoIterator,
             <I as IntoIterator>::Item: Into<OsString> + Clone { ... }
    fn from_iter_safe<I>(iter: I) -> Result<Self, Error>
       where Self: Sized,
             I: IntoIterator,
             <I as IntoIterator>::Item: Into<OsString> + Clone { ... }
}
Expand description

A struct that is converted from command line arguments.

Required Methods§

source

fn clap<'a, 'b>() -> App<'a, 'b>

Returns clap::App corresponding to the struct.

source

fn from_clap(matches: &ArgMatches<'_>) -> Self

Builds the struct from clap::ArgMatches. It’s guaranteed to succeed if matches originates from an App generated by StructOpt::clap called on the same type, otherwise it must panic.

Provided Methods§

source

fn from_args() -> Selfwhere Self: Sized,

Builds the struct from the command line arguments (std::env::args_os). Calls clap::Error::exit on failure, printing the error message and aborting the program.

source

fn from_args_safe() -> Result<Self, Error>where Self: Sized,

Builds the struct from the command line arguments (std::env::args_os). Unlike StructOpt::from_args, returns clap::Error on failure instead of aborting the program, so calling .exit is up to you.

source

fn from_iter<I>(iter: I) -> Selfwhere Self: Sized, I: IntoIterator, <I as IntoIterator>::Item: Into<OsString> + Clone,

Gets the struct from any iterator such as a Vec of your making. Print the error message and quit the program in case of failure.

NOTE: The first argument will be parsed as the binary name unless clap::AppSettings::NoBinaryName has been used.

source

fn from_iter_safe<I>(iter: I) -> Result<Self, Error>where Self: Sized, I: IntoIterator, <I as IntoIterator>::Item: Into<OsString> + Clone,

Gets the struct from any iterator such as a Vec of your making.

Returns a clap::Error in case of failure. This does not exit in the case of --help or --version, to achieve the same behavior as from_iter() you must call .exit() on the error value.

NOTE: The first argument will be parsed as the binary name unless clap::AppSettings::NoBinaryName has been used.

Implementations on Foreign Types§

source§

impl<T> StructOpt for Box<T, Global>where T: StructOpt,

source§

fn clap<'a, 'b>() -> App<'a, 'b>

source§

fn from_clap(matches: &ArgMatches<'_>) -> Box<T, Global>

Implementors§