std::string operator()(const std::vector<std::string> & argvec) { if (argvec.size() != 4) { return interp->RunCommand("help alias") + "\n(Please refer to the help documentation for proper invocation)"; } // First get the alias name std::string cmd = argvec[1]; std::vector<std::string> cmds; // Next get the arguments. Chain argSrc = argvec[2].c_str(); std::vector<std::string> args; argSrc.SetDelimiters(","); while(argSrc.LinksLeft()) { args.push_back(argSrc.GetLink().c_str()); argSrc++; } Chain src = argvec[3].c_str(); src.SetDelimiters(","); while(src.LinksLeft()) { cmds.push_back(src.GetLink().c_str()); src++; } interp->AddCommand(cmd, new SubCommand(cmds, args, interp)); return std::string("Set new command: ") + cmd; }