21 const char *
const *
const argv;
26 std::string_view option;
29 Argument(
const char *argv);
32 std::vector<Argument> args;
34 bool missing_arg =
false;
38 std::string_view name;
39 std::string_view parameter;
40 const std::vector<const char *> *labels =
nullptr;
41 const size_t default_index = 0;
43 Option(std::string_view parameter):
48 Option(std::string_view name, std::string_view parameter):
56 std::string_view name,
57 const std::vector<const char *> &labels,
62 default_index(default_index)
67 std::vector<Option> options;
70 std::string_view use_index();
73 Arguments(
int argc,
const char *
const *argv);
80 const char * description,
81 const char * default_string
87 const std::vector<const char *> &labels,
94 const char * description,
99 std::string_view
get_next(
const char * parameter);
100 bool peek(
const char *s);
102 std::ostream &
print_help(std::ostream &out)
const;
107 size_t size()
const {
return args.size();}
108 std::string_view
operator[](
size_t i)
const {
return args[i].s;}