- typedef void (CommandInterpreter::*CommandFunc)(const std::string &);
- typedef std::map<std::string, CommandFunc> CommandMap;
+ struct Command
+ {
+ typedef void (CommandInterpreter::*Func)(const std::string &);
+
+ Func func;
+ std::string description;
+ std::string help;
+ Command *alias_for;
+
+ Command();
+ Command(Command *);
+ Command(Func, const std::string &);
+ Command(Func, const std::string &, const std::string &);
+ };
+
+ typedef std::map<std::string, Command> CommandMap;