pub trait ArgsParseOuter: Sized {
    type State;

    // Required methods
    fn init() -> Self::State;
    fn handle(
        name: &'static str,
        state: &mut Self::State,
        args: &mut dyn Iterator<Item = OsString>
    ) -> Result<(), ArgsParseError>;
    fn finish(
        name: &'static str,
        state: Self::State
    ) -> Result<Self, ArgsParseError>;
}

Required Associated Types§

Required Methods§

source

fn init() -> Self::State

source

fn handle( name: &'static str, state: &mut Self::State, args: &mut dyn Iterator<Item = OsString> ) -> Result<(), ArgsParseError>

source

fn finish( name: &'static str, state: Self::State ) -> Result<Self, ArgsParseError>

Implementations on Foreign Types§

source§

impl<Inner> ArgsParseOuter for Option<Inner>where Inner: ArgsParseInner,

§

type State = Option<Inner>

source§

fn init() -> Self

source§

fn handle( name: &'static str, state: &mut Self, args: &mut dyn Iterator<Item = OsString> ) -> Result<(), ArgsParseError>

source§

fn finish(_name: &'static str, state: Self) -> Result<Self, ArgsParseError>

source§

impl<Inner> ArgsParseOuter for Vec<Inner>where Inner: ArgsParseInner,

§

type State = Vec<Inner, Global>

source§

fn init() -> Self

source§

fn handle( name: &'static str, state: &mut Self, args: &mut dyn Iterator<Item = OsString> ) -> Result<(), ArgsParseError>

source§

fn finish(_name: &'static str, state: Self) -> Result<Self, ArgsParseError>

source§

impl ArgsParseOuter for bool

§

type State = bool

source§

fn init() -> Self

source§

fn handle( name: &'static str, state: &mut Self::State, _args: &mut dyn Iterator<Item = OsString> ) -> Result<(), ArgsParseError>

source§

fn finish( _name: &'static str, state: Self::State ) -> Result<Self, ArgsParseError>

Implementors§

source§

impl<Inner: ArgsParseInner> ArgsParseOuter for Inner

§

type State = Option<Inner>