PT-Cooling-Log 1.0
PTCoolingLogViewer
|
00001 #ifndef _ArgParser_hh_ 00002 #define _ArgParser_hh_ 00003 00004 #include <string> 00005 class ArgParser { 00006 public: 00007 00008 enum F_ARGUMENT { 00009 NO, 00010 REQUIRED, 00011 OPTIONAL 00012 }; 00013 00014 ArgParser(); 00015 ArgParser( const F_ARGUMENT& flag, const std::string& def ); 00016 ArgParser( const F_ARGUMENT& flag, const std::string& def, const std::string& remark ); 00017 virtual ~ArgParser(); 00018 00019 virtual std::string operator()() const { return value_; } 00020 virtual bool operator()( const std::string& option ); 00021 00022 F_ARGUMENT fArgument() { return farg_; } 00023 F_ARGUMENT fArgument( const F_ARGUMENT& flag ) { return farg_ = flag; } 00024 00025 std::string& value() { return value_; } 00026 std::string value() const { return value_; } 00027 00028 std::string& remark() { return remark_; } 00029 std::string remark() const { return remark_; } 00030 00031 virtual bool exist() const { return fRead_; } 00032 virtual bool& exist() { return fRead_; } 00033 00034 private: 00035 F_ARGUMENT farg_; 00036 std::string value_; 00037 std::string remark_; 00038 bool fRead_; 00039 00040 }; 00041 00042 #endif // _ArgParser_hh_