cprover
options.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Options
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_UTIL_OPTIONS_H
13 #define CPROVER_UTIL_OPTIONS_H
14 
15 #include <string>
16 #include <map>
17 #include <list>
18 
19 class optionst
20 {
21 public:
22  typedef std::list<std::string> value_listt;
23  typedef std::map<std::string, value_listt> option_mapt;
24 
25  const std::string get_option(const std::string &option) const;
26  bool get_bool_option(const std::string &option) const;
27  signed int get_signed_int_option(const std::string &option) const;
28  unsigned int get_unsigned_int_option(const std::string &option) const;
29  const value_listt &get_list_option(const std::string &option) const;
30 
32  bool is_set(const std::string &option) const;
33 
34  void set_option(const std::string &option, const bool value);
35  void set_option(const std::string &option, const int value);
36  void set_option(const std::string &option, const unsigned value);
37  void set_option(const std::string &option, const std::string &value);
38 
39  void set_option(const std::string &option, const char *value)
40  {
41  set_option(option, std::string(value));
42  }
43 
44  void set_option(const std::string &option, const value_listt &values)
45  {
46  option_map[option]=values;
47  }
48 
49  optionst() { }
50  ~optionst() { }
51 
52  optionst &operator=(const optionst &other)
53  {
54  option_map=other.option_map;
55  return *this;
56  }
57 
58 protected:
61 };
62 
63 #endif // CPROVER_UTIL_OPTIONS_H
const value_listt empty_list
Definition: options.h:60
signed int get_signed_int_option(const std::string &option) const
Definition: options.cpp:48
unsigned int get_unsigned_int_option(const std::string &option) const
Definition: options.cpp:54
void set_option(const std::string &option, const char *value)
Definition: options.h:39
const value_listt & get_list_option(const std::string &option) const
Definition: options.cpp:78
optionst & operator=(const optionst &other)
Definition: options.h:52
const std::string get_option(const std::string &option) const
Definition: options.cpp:65
~optionst()
Definition: options.h:50
bool get_bool_option(const std::string &option) const
Definition: options.cpp:42
std::list< std::string > value_listt
Definition: options.h:22
std::map< std::string, value_listt > option_mapt
Definition: options.h:23
void set_option(const std::string &option, const value_listt &values)
Definition: options.h:44
option_mapt option_map
Definition: options.h:59
void set_option(const std::string &option, const bool value)
Definition: options.cpp:24
bool is_set(const std::string &option) const
N.B. opts.is_set("foo") does not imply opts.get_bool_option("foo")
Definition: options.cpp:60
optionst()
Definition: options.h:49