ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
cmdline.h
Go to the documentation of this file.
1#ifndef CPROVER_CMDLINE_H
2#define CPROVER_CMDLINE_H
3
4#include <list>
5#include <string>
6#include <vector>
7#include <map>
8#include <optional>
9#include <boost/program_options.hpp>
10
11/* WORKAROUND: On *BSD macOS the include of some system headers
12 * makes the definition of isset as a macro, which conflicts with
13 * the member */
14#ifdef isset
15# undef isset
16#endif
18{
19 const char *optstring;
20 const boost::program_options::value_semantic *type_default_value;
21 const char *description;
22};
23
25{
26 std::string groupname;
27 std::vector<opt_templ> options;
28};
29
31{
32public:
34 bool parse(int argc, const char **argv, const struct group_opt_templ *opts);
35 const char *getval(const char *option) const;
36 const std::list<std::string> &get_values(const char *option) const;
37 bool isset(const char *option) const;
38 void clear();
39 typedef std::vector<std::string> argst;
41 boost::program_options::variables_map vm;
42 unsigned m_term_width;
43 boost::program_options::options_description cmdline_options;
44 cmdlinet();
45 ~cmdlinet();
46 typedef std::map<std::string, std::list<std::string>> options_mapt;
48
49private:
50 std::optional<std::string> get_config_file_location() const;
51 std::string expand_user(std::string const path) const;
52};
53
54#endif
bool isset(const char *option) const
Definition cmdline.cpp:171
unsigned m_term_width
Definition cmdline.h:42
boost::program_options::variables_map vm
Definition cmdline.h:41
cmdlinet()
Definition cmdline.cpp:153
argst args
Definition cmdline.h:40
std::map< std::string, std::list< std::string > > options_mapt
Definition cmdline.h:46
~cmdlinet()
Definition cmdline.cpp:159
boost::program_options::options_description cmdline_options
Definition cmdline.h:43
options_mapt options_map
Definition cmdline.h:47
const std::list< std::string > & get_values(const char *option) const
Definition cmdline.cpp:176
std::vector< std::string > argst
Definition cmdline.h:39
void clear()
Definition cmdline.cpp:164
bool parse(int argc, const char **argv, const struct group_opt_templ *opts)
opts must have static storage duration and is parsed at most once.
Definition cmdline.cpp:274
const char * getval(const char *option) const
Definition cmdline.cpp:183
Definition path.py:1
Definition cmdline.h:25
std::vector< opt_templ > options
Definition cmdline.h:27
std::string groupname
Definition cmdline.h:26
Definition cmdline.h:18
const char * optstring
Definition cmdline.h:19
const char * description
Definition cmdline.h:21
const boost::program_options::value_semantic * type_default_value
Definition cmdline.h:20