00001 #ifndef _theplu_yat_utility_option_help_
00002 #define _theplu_yat_utility_option_help_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "OptionSwitch.h"
00026
00027 #include <string>
00028
00029 namespace theplu {
00030 namespace yat {
00031 namespace utility {
00032
00033 class CommandLine;
00061 class OptionHelp : public OptionSwitch
00062 {
00063 public:
00072 OptionHelp(CommandLine& cmd, std::string name="h,help",
00073 std::string desc="display this help and exit");
00074
00078 std::string& post_arguments(void);
00079
00083 std::string& synopsis(void);
00084
00089 std::string& usage(void);
00090
00091 private:
00092 std::string usage_;
00093 std::string synopsis_;
00094 std::string post_cmd_;
00095
00098 void do_parse2(std::vector<std::string>::iterator,
00099 std::vector<std::string>::iterator);
00100
00101 };
00102
00103 }}}
00104
00105 #endif