21 #ifndef mia_core_cmdlineparser_hh
22 #define mia_core_cmdlineparser_hh
106 const char *
long_help,
const char *short_help,
109 virtual bool do_set_value(
const char *str_value);
110 virtual size_t do_get_needed_args()
const;
111 virtual void do_write_value(std::ostream& os)
const;
112 virtual void do_get_long_help(std::ostream& os)
const;
113 virtual const std::string do_get_value_as_string()
const;
189 __attribute__((warn_unused_result));
204 __attribute__((warn_unused_result));
245 EHelpRequested do_parse(
size_t argc,
const char *args[],
bool has_additional,
247 __attribute__((warn_unused_result));
248 int handle_shortargs(
const char *arg,
size_t argc,
const char *args[]);
249 struct CCmdOptionListData *m_impl;
272 template <
typename T>
276 bool required = has_flag(flags, CCmdOptionFlags::required);
295 template <
typename T>
297 const char *long_opt,
char short_opt,
300 bool required = has_flag(flags, CCmdOptionFlags::required);
337 template <
typename T>
339 const char *long_opt,
char short_opt,
const char *help)
363 char short_opt,
const char *long_help,
364 const char *short_help,
403 template <
typename T>
405 const char *long_opt,
char short_opt,
409 bool required = has_flag(flags, CCmdOptionFlags::required);
434 template <
typename T>
435 PCmdOption make_opt(
typename std::shared_ptr<T>& value,
const char *default_value,
const char *long_opt,
436 char short_opt,
const char *help,
439 bool required = has_flag(flags, CCmdOptionFlags::required);
440 typedef typename FactoryTrait<T>::type F;
463 template <
typename T>
464 PCmdOption make_opt(
typename std::unique_ptr<T>& value,
const char *default_value,
const char *long_opt,
465 char short_opt,
const char *help,
CCmdOptionFlags flags = CCmdOptionFlags::none)
467 bool required = has_flag(flags, CCmdOptionFlags::required);
468 typedef typename FactoryTrait<T>::type F;