cprover
options.cpp
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 #include "options.h"
13 
14 #include "string2int.h"
15 
16 void optionst::set_option(const std::string &option,
17  const std::string &value)
18 {
19  value_listt &value_list=option_map[option];
20  value_list.clear();
21  value_list.push_back(value);
22 }
23 
24 void optionst::set_option(const std::string &option,
25  const bool value)
26 {
27  set_option(option, std::string(value?"1":"0"));
28 }
29 
30 void optionst::set_option(const std::string &option,
31  const signed int value)
32 {
33  set_option(option, std::to_string(value));
34 }
35 
36 void optionst::set_option(const std::string &option,
37  const unsigned int value)
38 {
39  set_option(option, std::to_string(value));
40 }
41 
42 bool optionst::get_bool_option(const std::string &option) const
43 {
44  const std::string value=get_option(option);
45  return value.empty()?false:(std::stoi(value)!=0);
46 }
47 
48 signed int optionst::get_signed_int_option(const std::string &option) const
49 {
50  const std::string value=get_option(option);
51  return value.empty()?0:std::stoi(value);
52 }
53 
54 unsigned int optionst::get_unsigned_int_option(const std::string &option) const
55 {
56  const std::string value=get_option(option);
57  return value.empty()?0:safe_string2unsigned(value);
58 }
59 
60 const std::string optionst::get_option(const std::string &option) const
61 {
62  option_mapt::const_iterator it=
63  option_map.find(option);
64 
65  if(it==option_map.end())
66  return std::string();
67  else if(it->second.empty())
68  return std::string();
69  else
70  return it->second.front();
71 }
72 
74  const std::string &option) const
75 {
76  option_mapt::const_iterator it=
77  option_map.find(option);
78 
79  if(it==option_map.end())
80  return empty_list;
81  else
82  return it->second;
83 }
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
const value_listt & get_list_option(const std::string &option) const
Definition: options.cpp:73
const std::string get_option(const std::string &option) const
Definition: options.cpp:60
bool get_bool_option(const std::string &option) const
Definition: options.cpp:42
std::list< std::string > value_listt
Definition: options.h:22
unsigned safe_string2unsigned(const std::string &str, int base)
Definition: string2int.cpp:51
option_mapt option_map
Definition: options.h:56
Options.
void set_option(const std::string &option, const bool value)
Definition: options.cpp:24