OptionSetEx

Struct OptionSetEx 

Source
pub struct OptionSetEx<'a> {
    pub long: Vec<LongOption<'a>>,
    pub short: Vec<ShortOption>,
    pub mode: OptionsMode,
    pub allow_abbreviations: bool,
}
Expand description

Extendible option set

Used to supply the set of information about available options to match against

This is the “extendible” variant which uses Vecs to hold the option lists and thus is flexible in allowing addition of options, and may re-allocate as necessary.

Fields§

§long: Vec<LongOption<'a>>§short: Vec<ShortOption>§mode: OptionsMode§allow_abbreviations: bool

Implementations§

Source§

impl<'a> OptionSetEx<'a>

Source

pub fn new(count_long: usize, count_short: usize) -> Self

Create a new object. Takes estimations of the number of options to expect to be added (for efficient vector allocation).

Source

pub fn as_fixed(&self) -> OptionSet<'_, 'a>

Create an OptionSet referencing self’s vectors as slices.

Source

pub fn set_mode(&mut self, mode: OptionsMode) -> &mut Self

Set mode

Source

pub fn set_allow_abbreviations(&mut self, allow: bool) -> &mut Self

Enable/disable abbreviated matching

Source

pub fn is_empty(&self) -> bool

Checks if empty

Source

pub fn add_long(&mut self, name: &'a str) -> &mut Self

Add a long option

Panics (debug only) on invalid name.

Source

pub fn add_short(&mut self, ch: char) -> &mut Self

Add a short option

Panics (debug only) on invalid char choice.

Source

pub fn add_long_data(&mut self, name: &'a str) -> &mut Self

Add a long option that expects data

Panics (debug only) on invalid name.

Source

pub fn add_short_data(&mut self, ch: char) -> &mut Self

Add a short option that expects data

Panics (debug only) on invalid char choice.

Source

pub fn add_existing_long(&mut self, long: LongOption<'a>) -> &mut Self

Add an existing (ready-made) long option

Source

pub fn add_existing_short(&mut self, short: ShortOption) -> &mut Self

Add an existing (ready-made) short option

Source

pub fn is_valid(&self) -> bool

Checks validity of option set

Returns true if valid.

See also the validate method.

Source

pub fn validate(&self) -> Result<(), Vec<OptionFlaw<'a>>>

Checks validity of option set, returning details of any problems

Source

pub fn process<T>(&self, args: &'a [T]) -> Analysis<'a>
where T: AsRef<str>,

Analyses provided program arguments.

Returns a result set describing the result of the analysis. This may include &str references to strings provided in the args parameter and in self. Take note of this with respect to object lifetimes.

Expects self to be valid (see is_valid).

Trait Implementations§

Source§

impl<'a> Clone for OptionSetEx<'a>

Source§

fn clone(&self) -> OptionSetEx<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for OptionSetEx<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for OptionSetEx<'a>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'r, 'a: 'r> PartialEq<OptionSet<'r, 'a>> for OptionSetEx<'a>

Source§

fn eq(&self, rhs: &OptionSet<'r, 'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'r, 'a: 'r> PartialEq<OptionSetEx<'a>> for OptionSet<'r, 'a>

Source§

fn eq(&self, rhs: &OptionSetEx<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> PartialEq for OptionSetEx<'a>

Source§

fn eq(&self, other: &OptionSetEx<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> Eq for OptionSetEx<'a>

Source§

impl<'a> StructuralPartialEq for OptionSetEx<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for OptionSetEx<'a>

§

impl<'a> RefUnwindSafe for OptionSetEx<'a>

§

impl<'a> Send for OptionSetEx<'a>

§

impl<'a> Sync for OptionSetEx<'a>

§

impl<'a> Unpin for OptionSetEx<'a>

§

impl<'a> UnwindSafe for OptionSetEx<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.