[][src]Struct gflags::Flag

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);
    }
}

Methods

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.

Trait Implementations

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

type Target = Accessor<T>

The resulting type after dereferencing.

Auto Trait Implementations

impl<T> Send for Flag<T>

impl<T> Sync for Flag<T>

Blanket Implementations

impl<T> From for T
[src]

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

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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