void processQuery(const CommandTable& c, const std::string& cmd) { std::vector<std::string> args = split_args(strip_comments(cmd)); if (args.size() == 0) return; auto it = c.find(args[0]); if (it != c.end()) { it->second(args); } else { std::cout << "Unknown command: " << args[0] << std::endl; } }
char *cmd_generator(const char *text, int state) { static CommandTable::const_iterator it; if (state == 0) { it = cmds.begin(); } while (it != cmds.end()) { auto s = it->first; ++it; if (boost::starts_with(s, text)) { return strdup(s.c_str()); } } return NULL; }