pub struct Flag<T> { /* private fields */ }
Expand description
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
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.
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.