CBMC
parse_options.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_PARSE_OPTIONS_H
11 #define CPROVER_UTIL_PARSE_OPTIONS_H
12 
13 #include <string>
14 
15 #include "cmdline.h"
16 #include "message.h"
17 #include "ui_message.h"
18 
20 {
21 public:
23  const std::string &optstring,
24  int argc,
25  const char **argv,
26  const std::string &program);
27 
29 
30  virtual void help();
31  virtual void usage_error();
32 
33  virtual int doit()=0;
34 
35  virtual int main();
36  virtual ~parse_options_baset() { }
37 
39  void log_version_and_architecture(const std::string &front_end);
40 
41 private:
43 
44 protected:
47 
48  virtual void register_languages()
49  {
50  }
51 
52 private:
53  void unknown_option_msg();
54 };
55 
56 std::string
57 banner_string(const std::string &front_end, const std::string &version);
58 
66 std::string align_center_with_border(const std::string &text);
67 
68 std::string help_entry(
69  const std::string &option,
70  const std::string &description,
71  const std::size_t left_margin = 30,
72  const std::size_t width = 80);
73 
74 #endif // CPROVER_UTIL_PARSE_OPTIONS_H
messaget
Class that provides messages with a built-in verbosity 'level'.
Definition: message.h:154
parse_options_baset::ui_message_handler
ui_message_handlert ui_message_handler
Definition: parse_options.h:45
parse_options_baset
Definition: parse_options.h:19
ui_message_handlert
Definition: ui_message.h:21
parse_options_baset::unknown_option_msg
void unknown_option_msg()
Print an error message mentioning the option that was not recognized when parsing the command line.
Definition: parse_options.cpp:57
banner_string
std::string banner_string(const std::string &front_end, const std::string &version)
Definition: parse_options.cpp:174
parse_options_baset::log_version_and_architecture
void log_version_and_architecture(const std::string &front_end)
Write version and system architecture to log.status().
Definition: parse_options.cpp:152
align_center_with_border
std::string align_center_with_border(const std::string &text)
Utility for displaying help centered messages borderered by "* *".
Definition: parse_options.cpp:161
parse_options_baset::usage_error
virtual void usage_error()
Definition: parse_options.cpp:49
cmdlinet
Definition: cmdline.h:20
help_entry
std::string help_entry(const std::string &option, const std::string &description, const std::size_t left_margin=30, const std::size_t width=80)
Definition: parse_options.cpp:183
parse_options_baset::main
virtual int main()
Definition: parse_options.cpp:78
parse_options_baset::parse_options_baset
parse_options_baset(const std::string &optstring, int argc, const char **argv, const std::string &program)
Definition: parse_options.cpp:31
parse_options_baset::log
messaget log
Definition: parse_options.h:46
cmdline.h
parse_options_baset::doit
virtual int doit()=0
parse_options_baset::register_languages
virtual void register_languages()
Definition: parse_options.h:48
parse_options_baset::help
virtual void help()
Definition: parse_options.cpp:45
parse_options_baset::parse_result
bool parse_result
Definition: parse_options.h:42
message.h
parse_options_baset::cmdline
cmdlinet cmdline
Definition: parse_options.h:28
parse_options_baset::~parse_options_baset
virtual ~parse_options_baset()
Definition: parse_options.h:36
ui_message.h