81 void set_usage (std::string
const& str);
84 void set_usage (
char const* argv0, std::string
const& usage);
87 void set_description (std::string
const& str);
93 void set_description_word_wrap (
int width);
99 void set_helptext_indent (
int indent);
105 void set_nonopt_maxnum (std::size_t limit);
111 void set_nonopt_minnum (std::size_t limit);
118 void set_exit_on_error (
bool exit);
121 void add_option (
char shortname, std::string
const& longname,
122 bool has_argument, std::string
const& description =
"");
125 void parse (std::vector<std::string>
const& args);
127 void parse (
int argc,
char const*
const* argv);
144 std::string get_nth_nonopt (std::size_t index);
147 template <
typename T>
148 T get_nth_nonopt_as (std::size_t index);
151 void get_ids_from_string (std::string
const& str, std::vector<int>* ids);
154 void generate_helptext (std::ostream& stream)
const;
157 void parse_intern (std::vector<std::string>
const& args);
158 void parse_long_opt (std::string
const& tok);
159 bool parse_short_opt (std::string
const& tok1, std::string
const& tok2);
161 ArgOption const* find_opt (std::string
const& lopt);
165 std::size_t nonopt_min;
166 std::size_t nonopt_max;
168 std::vector<ArgOption> options;
169 std::string usage_str;
170 std::string descr_str;
175 std::vector<ArgResult> results;
176 std::string command_name;
179 std::size_t cur_result;