27#if __has_include("defs.h") 
   39  OptParser (std::vector<const char*>& list);
 
   42  OptParser (std::initializer_list<const char*> list);
 
   54  int parse (
int argc, 
const char* 
const* argv, 
int* stop = 
nullptr);
 
   57  int parse (
const std::vector<std::string>& args, 
int* stop = 
nullptr);
 
   61  bool next (std::string& opt, std::string& optarg, 
char sep = 
'|');
 
   64  bool next (std::string& opt, std::vector<std::string>& optarg);
 
   69  int getopt (
const std::string& option, std::string& optarg, 
char sep = 
'|') 
const;
 
   72  int getopt (
const std::string& option, std::vector<std::string>& optarg) 
const;
 
   75  int getopt (
char option, std::string& optarg, 
char sep = 
'|') 
const;
 
   78  int getopt (
char option, std::vector<std::string>& optarg) 
const;
 
   83  bool hasopt (
const std::string& option) 
const;
 
   86  bool hasopt (
char option) 
const;
 
   93  const std::string 
description (
size_t indent_size = 2) 
const;
 
   96  const std::string& 
appname () 
const;
 
  104    std::string arg_descr;        
 
  105    std::vector<std::string> arg; 
 
  109  std::vector<opt>::const_iterator find_option (
const std::string& opt) 
const;
 
  110  std::vector<opt>::const_iterator find_option (
char opt) 
const;
 
  111  void format_arg (std::string& str, 
const opt& option, 
char sep) 
const;
 
  113  std::vector<opt> optlist;
 
  114  std::vector<opt> cmd;
 
  115  std::vector<opt>::iterator nextop;
 
  132  return find_option (option) != cmd.end ();
 
 
  141  return find_option (option) != cmd.end ();
 
 
  154  auto p = find_option (option);
 
 
  171  auto p = find_option (option);
 
 
Command Line Parsing class.
int parse(int argc, const char *const *argv, int *stop=nullptr)
Parse a command line.
Definition options.cpp:241
int getopt(const std::string &option, std::string &optarg, char sep='|') const
Definition options.cpp:465
const std::string synopsis() const
Return a nicely formatted syntax string containing all the options.
Definition options.cpp:489
OptParser()
Initialize parser.
Definition options.cpp:96
bool hasopt(const std::string &option) const
Definition options.h:130
const std::string description(size_t indent_size=2) const
Return options description.
Definition options.cpp:557
bool next(std::string &opt, std::string &optarg, char sep='|')
Definition options.cpp:414
void add_option(const char *descr)
Add a new option descriptor to the list of options.
Definition options.cpp:199
void set_options(std::vector< const char * > &list)
Set list of valid options.
Definition options.cpp:140
const std::string & appname() const
Return program name.
Definition options.h:122