20#ifndef REALM_CMDLINE_H
21#define REALM_CMDLINE_H
32 class CommandLineOption;
45 char default_unit = 0,
bool binary =
true,
53 size_t maxlen,
bool keep =
false);
64 bool (T::*method)(const
std::string &),
84 virtual bool match(
const std::string &s);
88 std::vector<std::string>::iterator &pos) = 0;
103 std::vector<std::string>::iterator &pos);
110 template <
typename T>
115 bool _binary,
bool _keep, T &_target);
118 std::vector<std::string>::iterator &pos);
131 std::string &_target);
136 std::vector<std::string>::iterator &pos);
149 std::vector<std::string> &_target);
152 std::vector<std::string>::iterator &pos);
165 std::vector<std::string>::iterator &pos);
172 template <
typename T>
177 bool (T::*_method)(const
std::string &));
180 std::vector<std::string>::iterator &pos);
185 bool (T::*method)(const
std::string &);
190#include "realm/cmdline.inl"
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
virtual int parse_argument(int &pos, int argc, const char *argv[])
BooleanCommandLineOption(const std::string &_optname, bool _keep, bool &_target)
bool & target
Definition cmdline.h:169
virtual bool match(const std::string &s)
virtual bool keep_arg(void) const
bool keep
Definition cmdline.h:93
std::string optname
Definition cmdline.h:92
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)=0
CommandLineOption(const std::string &_optname, bool _keep)
virtual int parse_argument(int &pos, int argc, const char *argv[])=0
virtual ~CommandLineOption(void)
CommandLineParser & add_option_stringlist(const std::string &optname, T &target, bool keep=false)
CommandLineParser & add_option_string(const std::string &optname, T &target, bool keep=false)
CommandLineParser & add_option_int_units(const std::string &optname, T &target, char default_unit=0, bool binary=true, bool keep=false)
CommandLineParser & add_option_method(const std::string &optname, T *target, bool(T::*method)(const std::string &), bool keep=false)
RealmStatus parse_command_line_v2(std::vector< std::string > &cmdline)
CommandLineParser(void)=default
CommandLineParser & add_option_string(const std::string &optname, char *target, size_t maxlen, bool keep=false)
std::vector< CommandLineOption * > options
Definition cmdline.h:76
bool parse_command_line(int argc, char *argv[])
RealmStatus parse_command_line_v2(int argc, char *argv[])
CommandLineParser & add_option_bool(const std::string &optname, bool &target, bool keep=false)
bool parse_command_line(int argc, const char *argv[])
bool parse_command_line(std::vector< std::string > &cmdline)
CommandLineParser & add_option_int(const std::string &optname, T &target, bool keep=false)
RealmStatus parse_command_line_v2(int argc, const char *argv[])
T & target
Definition cmdline.h:107
virtual int parse_argument(int &pos, int argc, const char *argv[])
IntegerCommandLineOption(const std::string &_optname, bool _keep, T &_target)
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
T & target
Definition cmdline.h:124
char default_unit
Definition cmdline.h:122
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
bool binary
Definition cmdline.h:123
virtual int parse_argument(int &pos, int argc, const char *argv[])
IntegerUnitsCommandLineOption(const std::string &_optname, char _default_unit, bool _binary, bool _keep, T &_target)
T * target
Definition cmdline.h:184
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
virtual int parse_argument(int &pos, int argc, const char *argv[])
MethodCommandLineOption(const std::string &_optname, bool _keep, T *_target, bool(T::*_method)(const std::string &))
StringCommandLineOption(const std::string &_optname, bool _keep, std::string &_target)
char * target_array
Definition cmdline.h:141
virtual int parse_argument(int &pos, int argc, const char *argv[])
std::string * target_str
Definition cmdline.h:140
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
StringCommandLineOption(const std::string &_optname, bool _keep, char *_target, size_t _maxlen)
size_t target_arrlen
Definition cmdline.h:142
virtual int parse_argument(int &pos, int argc, const char *argv[])
virtual int parse_argument(std::vector< std::string > &cmdline, std::vector< std::string >::iterator &pos)
StringListCommandLineOption(const std::string &_optname, bool _keep, std::vector< std::string > &_target)
std::vector< std::string > & target
Definition cmdline.h:156
#define REALM_INTERNAL_API_EXTERNAL_LINKAGE
Definition compiler_support.h:218
#define REALM_PUBLIC_API
Definition compiler_support.h:217
Definition activemsg.h:38
Definition indexspace.h:1279
realm_status_t RealmStatus
Definition realm_c.h:355