cprover
janalyzer_main.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: JANALYZER Main Module
4 
5 Author: Peter Schrammel
6 
7 \*******************************************************************/
8 
11 
13 
14 #include <util/unicode.h>
15 
16 #ifdef _MSC_VER
17 int wmain(int argc, const wchar_t **argv_wide)
18 {
19  auto vec = narrow_argv(argc, argv_wide);
20  auto narrow = to_c_str_array(std::begin(vec), std::end(vec));
21  auto argv = narrow.data();
22 #else
23 int main(int argc, const char **argv)
24 {
25 #endif
26  janalyzer_parse_optionst parse_options(argc, argv);
27 
28  return parse_options.main();
29 }
janalyzer_parse_optionst
Definition: janalyzer_parse_options.h:157
to_c_str_array
std::vector< const char * > to_c_str_array(It b, It e)
Definition: unicode.h:59
janalyzer_parse_options.h
JANALYZER Command Line Option Processing.
main
int main(int argc, const char **argv)
Definition: janalyzer_main.cpp:23
parse_options_baset::main
virtual int main()
Definition: parse_options.cpp:76
narrow
output_type narrow(input_type input)
Run-time checked narrowing cast.
Definition: narrow.h:34
unicode.h
narrow_argv
std::vector< std::string > narrow_argv(int argc, const wchar_t **argv_wide)
Definition: unicode.cpp:150