Skip to main content

StructOpt

Trait StructOpt 

Source
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() -> Self
where 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) -> Self
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. 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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

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

Source§

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

Source§

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

Implementors§