11 #include <RADCore/RADCore.h>
42 const std::string&
error()
const;
44 bool has(
const std::string& name)
const;
46 std::string
value(
const std::string& name,
const std::string& defaultValue = {})
const;
54 std::map<std::string, std::string> values_;
55 std::vector<std::string> present_;
56 std::vector<std::string> positionals_;
76 const Option* findLong(
const std::string& name)
const;
77 const Option* findShort(
char shortName)
const;
79 std::string applicationName_;
80 std::string description_;
81 std::vector<Option> options_;
Small command-line parser for RADLib tools and examples.
Definition: RADCLI.h:60
void addOption(Option option)
Adds an option.
ParseResult parse(int argc, char **argv) const
Parses argc/argv.
std::string helpText() const
Builds help text.
void setDescription(std::string description)
Sets a short application description.
CommandLineParser(std::string applicationName={})
Creates a parser for applicationName.
ParseResult parse(const std::vector< std::string > &args) const
Parses vector arguments where args[0] is the program name.
Parsed command-line result.
Definition: RADCLI.h:37
bool has(const std::string &name) const
Returns true when option was explicitly provided.
bool ok() const
Returns true when parsing succeeded.
std::string value(const std::string &name, const std::string &defaultValue={}) const
Returns option value or defaultValue.
const std::vector< std::string > & positionals() const
Returns positional arguments.
const std::string & error() const
Returns parser error text.
std::string executablePath()
Returns the current executable path when available.
std::string currentUserName()
Returns the current username when available.
std::string radlibVersionString()
Returns the RADLib version string.
bool setEnvironmentVariable(const std::string &name, const std::string &value, bool overwrite=true)
Sets or unsets an environment variable.
std::optional< std::string > environmentVariable(const std::string &name)
Returns an environment variable value when present.
One command-line option definition.
Definition: RADCLI.h:21
std::string defaultValue
Default value used when absent.
Definition: RADCLI.h:33
std::string name
Long option name without "--".
Definition: RADCLI.h:23
char shortName
Optional short option character without "-".
Definition: RADCLI.h:25
std::string description
Human-readable help text.
Definition: RADCLI.h:27
bool requiresValue
True when this option requires a value.
Definition: RADCLI.h:29
bool required
True when this option must be provided.
Definition: RADCLI.h:31