5 for(
int i=1; i<argc; i++) {
6 std::string
arg = argv[i];
7 std::string
name, value;
8 this->
split(name, value, arg);
9 arguments_.insert(std::pair<std::string, std::string>(name, value));
14 std::string &value, std::string
arg) {
16 size_t pos = arg.find(
"=");
18 name = arg.substr(2, pos - 2);
19 value = arg.substr(pos + 1);
27 char** args =
new char*[2 * size];
32 for (; it != end; ++ it) {
33 const std::string &key = it->first;
34 char* argname =
new char[key.length() + 1];
35 strcpy(argname, key.c_str());
38 const std::string &value = it->second;
39 char* argvalue =
new char[value.length() + 1];
40 strcpy(argvalue, value.c_str());
41 args[i ++] = argvalue;
T arg(const std::string name)
void addArguments(int argc, char **argv)
parse user arguments
void split(std::string &name, std::string &value, std::string arg)
helper to split string
std::map< std::string, std::string > arguments_
container for storing command line options
char ** getArguments() const