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§
source§impl<T: 'static> Flag<T>
impl<T: 'static> Flag<T>
sourcepub fn is_present(&self) -> bool
pub fn is_present(&self) -> bool
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.
sourcepub fn repeat_count(&self) -> u32
pub fn repeat_count(&self) -> u32
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.