Trait app::OptValueParse [] [src]

pub trait OptValueParse<'app>: Debug {
    fn into(self) -> OptValue<'app>;
fn is_bool(&self) -> bool;
fn default(&self) -> Option<String>;
fn parse(
        &mut self,
        opt_name: &str,
        msg: &str,
        count: &mut usize,
        typo: &mut OptTypo
    ) -> Result<(), String>;
fn check(
        &self,
        opt_name: &str,
        optional: &bool,
        count: &usize,
        typo: &OptTypo
    ) -> Result<(), String>; }

You can use custom OptValue by impl it

Explain

  1. into(self) convert it(&mut T) to OptValue.

  2. is_bool(&self) , Opt is flag, like --help/-h,it have not value follows it.

    so you should return false except value's type is &mut bool(but &mut bool already being impl).

  3. default(&self) is Opt's default value's str for help message print

  4. parse(&mut self, opt_name: &str, msg: &str, count: &mut usize, typo: &mut OptTypo) maintains the value, and return message by Result<(),String>.

    opt_name is current Opt's name, msg is the arg need to pasre, count is the count for the times Opt occurs, typo is the type setting for the Opt

  5. check(&self, opt_name: &str, optional: &bool, count: &usize, typo: &OptTypo) check value and return message by Result<(),String>.

    optional is the optional setting for Opt.

    If the Opt is not optional, and this Opt hasn't occurs, and self.default().is_none(), app will exit because of OPTION Missing.

    if value is a &mut Vec<T>, the setting of length(OptTypo::Multiple().get()) is None default,

    if value is a &mut [T], the setting of length(OptTypo::Multiple().get()) is value.len() default,

    If OptTypo::Multiple().get().is_some() and the Opt occured, app will compare it with the times Opt occurs('count`)(If not equal, app will exit)

  • If the name of executable file is ap , has a -p Opt(inner value is empty Vec<u16>)
ap -p "80" 
# vec[80]

# all types being impl `OptValue` will call `trim()` before call `parse::<T>()` except `char`,`String`, `PathBuf` and their `Option`, `Vec`, `Slice`.
# So have some fault-tolerant.
ap -p " 80  "       
# vec[80]


ap -p 80 "8000 " " 8080"
# Vec[8080,8000,80]

Required Methods

Implementations on Foreign Types

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut bool
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut String
[src]

[src]

[src]

[src]

[src]

[src]

env::arg could is ""

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut char
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut usize
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut u8
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut u16
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut u32
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut u64
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut isize
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut i8
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut i16
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut i32
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut i64
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut f32
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut f64
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut IpAddr
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Ipv4Addr
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Ipv6Addr
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut SocketAddr
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut SocketAddrV4
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut SocketAddrV6
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<char>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<String>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<bool>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<usize>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<u8>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<u16>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<u32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<u64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<isize>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<i8>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<i16>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<i32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<i64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<f32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<f64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<IpAddr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<Ipv4Addr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<Ipv6Addr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<SocketAddr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<SocketAddrV4>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Option<SocketAddrV6>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<char>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<String>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<bool>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<usize>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<u8>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<u16>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<u32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<u64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<isize>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<i8>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<i16>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<i32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<i64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<f32>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<f64>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<IpAddr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<Ipv4Addr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<Ipv6Addr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<SocketAddr>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<SocketAddrV4>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut Vec<SocketAddrV6>
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [char]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [String]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [bool]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [usize]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [u8]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [u16]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [u32]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [u64]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [isize]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [i8]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [i16]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [i32]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [i64]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [f32]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [f64]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [IpAddr]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [Ipv4Addr]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [Ipv6Addr]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [SocketAddr]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [SocketAddrV4]
[src]

[src]

[src]

[src]

[src]

[src]

impl<'app, 's: 'app> OptValueParse<'app> for &'s mut [SocketAddrV6]
[src]

[src]

[src]

[src]

[src]

[src]

Implementors