32 #ifndef SHORE_PROGRAM_HPP__
33 #define SHORE_PROGRAM_HPP__
44 class uncaught_handler;
75 std::string m_description;
77 std::string m_usage_description;
80 std::string m_conffile;
93 std::string m_commandline;
99 std::string m_helpcmd;
114 virtual int main()=0;
138 const std::string &command,
const std::vector<std::string> &args);
146 const std::string &longshort,
148 const std::string &info,
149 const std::string &aux_info=std::string())
157 const std::string& longshort,
159 const std::string &info,
161 const std::string &aux_info=std::string())
163 add_option(longshort,
"",target,info,def,aux_info);
169 const std::string &longshort,
170 const std::string &conflicts_with,
172 const std::string &info,
173 const std::string &aux_info=std::string())
187 const std::string &longshort,
188 const std::string &conflicts_with,
190 const std::string &info,
192 const std::string &aux_info=std::string())
194 m_optionparser.
add_option(longshort,conflicts_with,target,info,def,aux_info);
204 T *
const target,
const std::string &name,
const OptionFlags def)
218 const std::string &name=
"FILES",
219 const std::string &conflicts_with=std::string(),
221 typename boost::disable_if<boost::is_const<T> >::type *dummy=0)
230 const std::string &opt_id,
const std::string &name);
248 void set_usage_description(
const std::string &desc);
249 void set_title(
const std::string &t);
283 void set_show_usage_description(
const bool f);
288 std::string startup_message()
const;
289 std::string shutdown_message()
const;
294 #endif // SHORE_PROGRAM_HPP__