00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TypedOptionParser_H
00014 #define TypedOptionParser_H
00015
00016 #include "Teuchos_ParameterList.hpp"
00017 #include "optparse.h"
00018
00019 namespace optparse {
00020
00025 class TypedOptionParser : public OptionParser {
00026 public:
00027 TypedOptionParser(std::string usage="")
00028 : OptionParser(usage)
00029 { }
00030 virtual ~TypedOptionParser ()
00031 { }
00045 void add_option(std::string shrt_flag, std::string lng_flag,
00046 std::string destination, std::string help="", action_t act=STORE,
00047 type_t type=STRING, std::string dfault="",
00048 std::string allowed_values="")
00049 {
00050 OptionParser::add_option(shrt_flag, lng_flag, destination, help, act,
00051 type, dfault, allowed_values);
00052 }
00053
00058 void add_option(Teuchos::ParameterList& params,
00059 std::string shrt_flag, std::string lng_flag,
00060 std::string destination, std::string help="", action_t act=STORE,
00061 std::string allowed_values="");
00067 std::string get_option(std::string option_name);
00073 void set_parameter_list(Teuchos::ParameterList& params);
00074 protected:
00083 virtual void set_option(Option& option, std::string argument);
00084 };
00085
00086 }
00087
00088 #endif