Inferno
0.2
|
00001 #ifndef READ_ARGS_HPP 00002 #define READ_ARGS_HPP 00003 00004 #include <string> 00005 00006 // Try to share one command line args parser between all executable 00007 // targets so usage is consistent and to avoid duplciation. We allow 00008 // globals here since in a way command line args *are* global. Avoid 00009 // the word "parse" here. 00010 00011 class ReadArgs 00012 { 00013 public: 00014 static std::string exename; 00015 static std::string infile; 00016 static std::string outfile; 00017 static bool intermediate_graph; 00018 static int pattern_graph; 00019 void Usage(); 00020 std::string GetArg( int al=1 ); 00021 ReadArgs( int argc, char *argv[] ); 00022 static bool trace; 00023 static bool trace_hits; 00024 static std::string hits_format; 00025 static int quitafter; 00026 static bool quitenable; 00027 static int runonlystep; 00028 static bool runonlyenable; 00029 static int repetitions; 00030 static bool rep_error; 00031 static bool selftest; 00032 static bool assert_pedigree; 00033 static bool documentation_graphs; 00034 private: 00035 int curarg; 00036 char **argv; 00037 int argc; 00038 }; 00039 00040 #endif 00041