Inferno  0.2
read_args.hpp
Go to the documentation of this file.
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