ArgsParser.h
00001 #ifndef gridripper_util_ArgsParser_h
00002 #define gridripper_util_ArgsParser_h
00003
00004 #include <gridripper/config.h>
00005 #include <gridripper/lang/IllegalArgumentException.h>
00006 #include <gridripper/lang/StreamTokenizer.h>
00007
00008 namespace gridripper { namespace util {
00009
00010 class ParameterPreprocessor;
00011
00012 using namespace std;
00013
00021 class ArgsParser
00022 {
00023 private:
00024 StreamTokenizer st;
00025
00026 const ParameterPreprocessor* preprocessor;
00027
00028 string currentName;
00029
00030 string currentValue;
00031
00032 public:
00038 ArgsParser(const string& args, const ParameterPreprocessor* pp);
00039
00045 bool next();
00046
00051 const string& name() {
00052 return currentName;
00053 }
00054
00059 string stringValue() {
00060 return currentValue;
00061 }
00062
00067 int intValue() throw(IllegalArgumentException&);
00068
00073 GReal_t realValue() throw(IllegalArgumentException&);
00074 };
00075
00076 } }
00077
00078 #endif