cprover
cmdline.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_UTIL_CMDLINE_H
11 #define CPROVER_UTIL_CMDLINE_H
12 
13 #include <vector>
14 #include <list>
15 #include <string>
16 
17 class cmdlinet
18 {
19 public:
20  virtual bool parse(int argc, const char **argv, const char *optstring);
21 
22  std::string get_value(char option) const;
23  std::string get_value(const char *option) const;
24 
25  const std::list<std::string> &get_values(const std::string &option) const;
26  const std::list<std::string> &get_values(char option) const;
27 
28  virtual bool isset(char option) const;
29  virtual bool isset(const char *option) const;
30  virtual void set(const std::string &option);
31  virtual void set(const std::string &option, const std::string &value);
32  virtual void clear();
33 
34  typedef std::vector<std::string> argst;
36 
37  cmdlinet();
38  virtual ~cmdlinet();
39 
40 protected:
41  struct optiont
42  {
43  bool isset;
44  bool hasval;
45  bool islong;
46  char optchar;
47  std::string optstring;
48  std::list<std::string> values;
49  public:
51  isset(false),
52  hasval(false),
53  islong(false),
54  optchar(0)
55  {}
56  };
57 
58  std::vector<optiont> options;
59 
60  int getoptnr(char option) const;
61  int getoptnr(const std::string &option) const;
62 };
63 
64 #endif // CPROVER_UTIL_CMDLINE_H
virtual ~cmdlinet()
Definition: cmdline.cpp:19
const std::list< std::string > & get_values(const std::string &option) const
Definition: cmdline.cpp:90
cmdlinet()
Definition: cmdline.cpp:15
std::string get_value(char option) const
Definition: cmdline.cpp:46
virtual bool parse(int argc, const char **argv, const char *optstring)
Definition: cmdline.cpp:116
argst args
Definition: cmdline.h:35
virtual bool isset(char option) const
Definition: cmdline.cpp:30
std::vector< std::string > argst
Definition: cmdline.h:34
virtual void clear()
Definition: cmdline.cpp:24
std::list< std::string > values
Definition: cmdline.h:48
int getoptnr(char option) const
Definition: cmdline.cpp:98
std::vector< optiont > options
Definition: cmdline.h:58
std::string optstring
Definition: cmdline.h:47