Args

Trait Args 

Source
pub trait Args<C>: Sized {
    // Required methods
    fn new<'a, 'b>(
        c: &C,
        args: &mut ParsedArgs<'a, 'b>,
    ) -> Result<Self, ArgsParseErr<'b>>;
    fn desc_act() -> &'static str;
    fn add_paths<'a>(pfx: &Vec<Arg<'a>>, p: &mut Vec<Vec<Arg<'a>>>);
    fn add_usage(c: &C, r: &mut Vec<[String; 4]>);
    fn default(c: &C) -> Self;
    fn run(self, c: &C) -> Result<(), String>;

    // Provided methods
    fn next_impl<'a>(c: &C, args: &[Arg<'a>]) -> Result<(), ArgsErr<'a>> { ... }
    fn next<'a>(
        c: &C,
        s: &mut ParseCtx<'a>,
        args: &[Arg<'a>],
    ) -> Result<(), ActsErr<'a>> { ... }
    fn usage(c: &C) -> String { ... }
}

Required Methods§

Source

fn new<'a, 'b>( c: &C, args: &mut ParsedArgs<'a, 'b>, ) -> Result<Self, ArgsParseErr<'b>>

Source

fn desc_act() -> &'static str

Source

fn add_paths<'a>(pfx: &Vec<Arg<'a>>, p: &mut Vec<Vec<Arg<'a>>>)

Source

fn add_usage(c: &C, r: &mut Vec<[String; 4]>)

Source

fn default(c: &C) -> Self

Source

fn run(self, c: &C) -> Result<(), String>

Provided Methods§

Source

fn next_impl<'a>(c: &C, args: &[Arg<'a>]) -> Result<(), ArgsErr<'a>>

Source

fn next<'a>( c: &C, s: &mut ParseCtx<'a>, args: &[Arg<'a>], ) -> Result<(), ActsErr<'a>>

Source

fn usage(c: &C) -> 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.

Implementors§