25 #ifndef TOOLBOX_OPTION_HPP_
26 #define TOOLBOX_OPTION_HPP_
92 const char* value,
size_t value_len);
98 : name(name),
name_size(std::strlen(name)), desc(desc) {
111 virtual bool parse(
const char* value, std::size_t value_len) = 0;
127 operator T() {
return get(); }
152 virtual bool parse(
const char*
value, std::size_t value_len);
157 OptionPrefix&
root();
163 #endif // TOOLBOX_OPTION_HPP_
const char * get_name() const
virtual std::size_t print(OStream &OS)
static void print_usage(OptionPrefix &root, FILE *fp=stdout)
OptionEntry(const char *name, const char *desc, OptionPrefix &parent)
std::set< OptionEntry * > ChildSetTy
ChildSetTy::iterator iterator
const char * get_name() const
void insert(OptionEntry *oe)
Option(const char *name, const char *desc, T value, OptionPrefix &parent)
JNIEnv jclass jobject const char * name
std::size_t option_print(OptionEntry &option, OStream &OS)
Simple stream class for formatted output.
virtual bool parse(const char *value, std::size_t value_len)=0
OptionBase(const char *name, const char *desc, T value, OptionPrefix &parent)
virtual std::size_t print(OStream &OS)=0
virtual bool parse(const char *value, std::size_t value_len)
const char * get_desc() const
OptionPrefix(const char *name)
static bool parse_option(OptionPrefix &root, const char *name, size_t name_len, const char *value, size_t value_len)