pub struct RangedU64ValueParser<T = u64>{ /* private fields */ }
Expand description
Parse number that fall within a range of values
§Example
Usage:
let mut cmd = clap::Command::new("raw")
.arg(
clap::Arg::new("port")
.long("port")
.value_parser(clap::value_parser!(u64).range(3000..))
.action(clap::ArgAction::Set)
.required(true)
);
let m = cmd.try_get_matches_from_mut(["cmd", "--port", "3001"]).unwrap();
let port: u64 = *m.get_one("port")
.expect("required");
assert_eq!(port, 3001);
Semantics:
let value_parser = clap::builder::RangedU64ValueParser::<u32>::new().range(0..200);
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("random")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("-200")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("300")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("-1")).is_err());
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("0")).unwrap(), 0);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("50")).unwrap(), 50);
Implementations§
Source§impl<T> RangedU64ValueParser<T>
impl<T> RangedU64ValueParser<T>
Sourcepub fn new() -> RangedU64ValueParser<T>
pub fn new() -> RangedU64ValueParser<T>
Select full range of u64
Sourcepub fn range<B>(self, range: B) -> RangedU64ValueParser<T>where
B: RangeBounds<u64>,
pub fn range<B>(self, range: B) -> RangedU64ValueParser<T>where
B: RangeBounds<u64>,
Narrow the supported range
Trait Implementations§
Source§impl<T> Clone for RangedU64ValueParser<T>
impl<T> Clone for RangedU64ValueParser<T>
Source§fn clone(&self) -> RangedU64ValueParser<T>
fn clone(&self) -> RangedU64ValueParser<T>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T> Debug for RangedU64ValueParser<T>
impl<T> Debug for RangedU64ValueParser<T>
Source§impl<T> Default for RangedU64ValueParser<T>
impl<T> Default for RangedU64ValueParser<T>
Source§fn default() -> RangedU64ValueParser<T>
fn default() -> RangedU64ValueParser<T>
Returns the “default value” for a type. Read more
Source§impl<T, B> From<B> for RangedU64ValueParser<T>
impl<T, B> From<B> for RangedU64ValueParser<T>
Source§fn from(range: B) -> RangedU64ValueParser<T>
fn from(range: B) -> RangedU64ValueParser<T>
Converts to this type from the input type.
Source§impl<T> TypedValueParser for RangedU64ValueParser<T>
impl<T> TypedValueParser for RangedU64ValueParser<T>
Source§fn parse_ref(
&self,
cmd: &Command,
arg: Option<&Arg>,
raw_value: &OsStr,
) -> Result<<RangedU64ValueParser<T> as TypedValueParser>::Value, Error>
fn parse_ref( &self, cmd: &Command, arg: Option<&Arg>, raw_value: &OsStr, ) -> Result<<RangedU64ValueParser<T> as TypedValueParser>::Value, Error>
Parse the argument value Read more
Source§fn parse_ref_(
&self,
cmd: &Command,
arg: Option<&Arg>,
value: &OsStr,
_source: ValueSource,
) -> Result<Self::Value, Error>
fn parse_ref_( &self, cmd: &Command, arg: Option<&Arg>, value: &OsStr, _source: ValueSource, ) -> Result<Self::Value, Error>
Parse the argument value Read more
Source§fn parse(
&self,
cmd: &Command,
arg: Option<&Arg>,
value: OsString,
) -> Result<Self::Value, Error>
fn parse( &self, cmd: &Command, arg: Option<&Arg>, value: OsString, ) -> Result<Self::Value, Error>
Parse the argument value Read more
Source§fn parse_(
&self,
cmd: &Command,
arg: Option<&Arg>,
value: OsString,
_source: ValueSource,
) -> Result<Self::Value, Error>
fn parse_( &self, cmd: &Command, arg: Option<&Arg>, value: OsString, _source: ValueSource, ) -> Result<Self::Value, Error>
Parse the argument value Read more
Source§fn possible_values(
&self,
) -> Option<Box<dyn Iterator<Item = PossibleValue> + '_>>
fn possible_values( &self, ) -> Option<Box<dyn Iterator<Item = PossibleValue> + '_>>
Reflect on enumerated value properties Read more
Source§fn map<T, F>(self, func: F) -> MapValueParser<Self, F>
fn map<T, F>(self, func: F) -> MapValueParser<Self, F>
Adapt a
TypedValueParser
from one value to another Read moreimpl<T> Copy for RangedU64ValueParser<T>
Auto Trait Implementations§
impl<T> Freeze for RangedU64ValueParser<T>
impl<T> RefUnwindSafe for RangedU64ValueParser<T>where
T: RefUnwindSafe,
impl<T> Send for RangedU64ValueParser<T>where
T: Send,
impl<T> Sync for RangedU64ValueParser<T>where
T: Sync,
impl<T> Unpin for RangedU64ValueParser<T>where
T: Unpin,
impl<T> UnwindSafe for RangedU64ValueParser<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<I> IntoResettable<ValueParser> for Iwhere
I: Into<ValueParser>,
impl<I> IntoResettable<ValueParser> for Iwhere
I: Into<ValueParser>,
Source§fn into_resettable(self) -> Resettable<ValueParser>
fn into_resettable(self) -> Resettable<ValueParser>
Convert to the intended resettable type
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes