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 
31  void set_option(const std::string &option, const bool value);
32  void set_option(const std::string &option, const int value);
33  void set_option(const std::string &option, const unsigned value);
34  void set_option(const std::string &option, const std::string &value);
35 
36  void set_option(const std::string &option, const char *value)
37  {
38  set_option(option, std::string(value));
39  }
40 
41  void set_option(const std::string &option, const value_listt &values)
42  {
43  option_map[option]=values;
44  }
45 
46  optionst() { }
47  ~optionst() { }
48 
49  optionst &operator=(const optionst &other)
50  {
51  option_map=other.option_map;
52  return *this;
53  }
54 
55 protected:
56  option_mapt option_map;
57  const value_listt empty_list;
58 };
59 
60 #endif // CPROVER_UTIL_OPTIONS_H
const value_listt empty_list
Definition: options.h:57
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:36
const value_listt & get_list_option(const std::string &option) const
Definition: options.cpp:73
optionst & operator=(const optionst &other)
Definition: options.h:49
const std::string get_option(const std::string &option) const
Definition: options.cpp:60
~optionst()
Definition: options.h:47
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:41
option_mapt option_map
Definition: options.h:56
void set_option(const std::string &option, const bool value)
Definition: options.cpp:24
optionst()
Definition: options.h:46