Struct gflags::Flag[][src]

pub struct Flag<T> { /* fields omitted */ }

The state associated with a single flag.

An invocation of gflags::define! with flag long name --the_name and flag type T declares an item static the_name: Flag<T> through which the state of the flag can be accessed.

After gflags::parse() has been called, the value of a flag is available through its .flag field which is of type T.

Examples

use std::path::Path;

gflags::define! {
    /// Search for patterns from the given file, with one pattern per line.
    -f, --file: &Path
}

fn main() {
    let patterns = gflags::parse();

    if FILE.is_present() {
        let path = FILE.flag;
        println!("searching for patterns from file: {}", path.display());
    } else {
        println!("searching for patterns given on command line: {:?}", patterns);
    }
}

Implementations

impl<T: 'static> Flag<T>[src]

pub fn is_present(&self) -> bool[src]

Whether this flag was provided on the command line.

When using flags for which a default value is not provided, be sure to check .is_present() because accessing .flag when not present will cause a panic.

When a flag has a default value and is not passed on the command line, is_present() will be false and .flag will refer to the default value.

pub fn repeat_count(&self) -> u32[src]

Count number of times an option is repeated on the command line.

Useful to display verbosity or debug level by repeating a boolean flag several times. For example, -vv for “very verbose” (repeat count 2) or -ddd for debug level 3.

Trait Implementations

impl<T: 'static> Deref for Flag<T>[src]

type Target = Accessor<T>

The resulting type after dereferencing.

Auto Trait Implementations

impl<T> RefUnwindSafe for Flag<T>

impl<T> Send for Flag<T>

impl<T> Sync for Flag<T>

impl<T> Unpin for Flag<T>

impl<T> UnwindSafe for Flag<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.