PT-Cooling-Log 1.0
PTCoolingLogViewer
src/ArgParser.hh
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_
 全て クラス ファイル 関数 変数