|
CBMC
|
#include <cmdline.h>
Inheritance diagram for cmdlinet:
Collaboration diagram for cmdlinet:Classes | |
| struct | option_namest |
| struct | optiont |
Public Types | |
| typedef std::vector< std::string > | argst |
Public Member Functions | |
| virtual bool | parse (int argc, const char **argv, const char *optstring) |
Parses a commandline according to a specification given in optstring. More... | |
| std::string | get_value (char option) const |
| std::string | get_value (const char *option) const |
| const std::list< std::string > & | get_values (const std::string &option) const |
| const std::list< std::string > & | get_values (char option) const |
| std::list< std::string > | get_comma_separated_values (const char *option) const |
Collect all occurrences of option option and split their values on each comma, merging them into a single list of values. More... | |
| virtual bool | isset (char option) const |
| virtual bool | isset (const char *option) const |
| virtual void | set (const std::string &option, bool value=true) |
Set option option to value, or true if the value is omitted. More... | |
| virtual void | set (const std::string &option, const std::string &value) |
| virtual void | set (const std::string &option, const char *value) |
| virtual void | clear () |
| bool | has_option (const std::string &option) const |
| option_namest | option_names () const |
| Pseudo-object that can be used to iterate over options in this cmdlinet (should not outlive this) More... | |
| cmdlinet () | |
| virtual | ~cmdlinet () |
| std::vector< std::string > | get_argument_suggestions (const std::string &unknown_argument) |
Public Attributes | |
| argst | args |
| std::string | unknown_arg |
Protected Member Functions | |
| void | parse_optstring (const char *optstring) |
| Parses an optstring and writes the result to cmdlinet::options. More... | |
| bool | parse_arguments (int argc, const char **argv) |
| Parses a commandline according to a previously parsed optstring and writes the result to cmdlinet::options. More... | |
| optionalt< std::size_t > | getoptnr (char option) const |
| optionalt< std::size_t > | getoptnr (const std::string &option) const |
Protected Attributes | |
| std::vector< optiont > | options |
| typedef std::vector<std::string> cmdlinet::argst |
| cmdlinet::cmdlinet | ( | ) |
Definition at line 16 of file cmdline.cpp.
|
virtual |
Definition at line 20 of file cmdline.cpp.
|
virtual |
Definition at line 24 of file cmdline.cpp.
| std::vector< std::string > cmdlinet::get_argument_suggestions | ( | const std::string & | unknown_argument | ) |
Definition at line 210 of file cmdline.cpp.
| std::list< std::string > cmdlinet::get_comma_separated_values | ( | const char * | option | ) | const |
Collect all occurrences of option option and split their values on each comma, merging them into a single list of values.
Definition at line 121 of file cmdline.cpp.
| std::string cmdlinet::get_value | ( | char | option | ) | const |
Definition at line 48 of file cmdline.cpp.
| std::string cmdlinet::get_value | ( | const char * | option | ) | const |
Definition at line 99 of file cmdline.cpp.
| const std::list< std::string > & cmdlinet::get_values | ( | char | option | ) | const |
Definition at line 89 of file cmdline.cpp.
| const std::list< std::string > & cmdlinet::get_values | ( | const std::string & | option | ) | const |
Definition at line 109 of file cmdline.cpp.
|
protected |
Definition at line 135 of file cmdline.cpp.
|
protected |
Definition at line 144 of file cmdline.cpp.
|
inline |
|
virtual |
Definition at line 30 of file cmdline.cpp.
|
virtual |
Definition at line 39 of file cmdline.cpp.
| cmdlinet::option_namest cmdlinet::option_names | ( | ) | const |
Pseudo-object that can be used to iterate over options in this cmdlinet (should not outlive this)
Definition at line 161 of file cmdline.cpp.
|
virtual |
Parses a commandline according to a specification given in optstring.
| argc | How many arguments there are. |
| argv | An array of C strings. The 0th element is assumed to be the name of the command as it was invoked (e.g. /usr/bin/cmake) and is ignored. It is further assumed the array holds argc+1 elements with the C string at index argc being a terminating null pointer. This argument is parsed based on optstring. |
| optstring | A specification of allowed command line options. This is a C string container any number of single characters other than '(', ')' or ':' signifying a "short" option consisting of just that character, or names consisting of any characters other than ')' surrounded by a matching pair of '(' and ')' signifying a "long" option with the name being the string between '(' and ')', both of which can be optionally followed by a single ':' indicating that the option takes a argument, if not present it does not. arguments must be in the next array element in argv , except for short options whose argument may also be concatenated directly on them. |
Option names in argv must start with either '-' or "--", no distinction between long and short options is made here, although it is customary to use only one '-' for short options and "--" for long options.
All options are optional, if some are required it is up to the user to check that they are present.
Examples:
argc = 4 argv = {"name", "-V", "--name", "CProver", nullptr} opstring = "V(version)(name):"
here the argument to "name" would be "CProver", and "V" is a short option passed without arguments.
argc = 3 argv = {"other-name", "-fFilename", "--trace", nullptr} optstring = "f:(trace)(some-other-option):G"
here the argument to option "f" would be "Filename", "trace" is a long option with no argument, and "some-other-option" and "G" are both allowed options that don’t appear on the commandline (with and without argument respectively).
Definition at line 153 of file cmdline.cpp.
|
protected |
Parses a commandline according to a previously parsed optstring and writes the result to cmdlinet::options.
Definition at line 269 of file cmdline.cpp.
|
protected |
Parses an optstring and writes the result to cmdlinet::options.
It is considered a logic error to pass an invalid option string here.
Definition at line 165 of file cmdline.cpp.
|
virtual |
Set option option to value, or true if the value is omitted.
Reimplemented in goto_cc_cmdlinet.
Definition at line 58 of file cmdline.cpp.
|
inlinevirtual |
Reimplemented in goto_cc_cmdlinet.
|
virtual |
Reimplemented in goto_cc_cmdlinet.
Definition at line 71 of file cmdline.cpp.