| OLD | NEW | 
|---|
|  | 1 | 
| 1 #ifndef COMMAND_H | 2 #ifndef COMMAND_H | 
| 2 #define COMMAND_H | 3 #define COMMAND_H | 
| 3 | 4 | 
| 4 #include <map> | 5 #include <map> | 
| 5 #include <stdexcept> | 6 #include <stdexcept> | 
| 6 #include <string> | 7 #include <string> | 
| 7 | 8 | 
| 8 class Command | 9 class Command | 
| 9 { | 10 { | 
| 10 public: | 11 public: | 
| 11   const std::string name; | 12   const std::string name; | 
| 12 | 13 | 
| 13   explicit Command(const std::string& name); | 14   explicit Command(const std::string& name); | 
| 14   virtual ~Command(); | 15   virtual ~Command(); | 
| 15   virtual void operator()(const std::string& arguments) = 0; | 16   virtual void operator()(const std::string& arguments) = 0; | 
| 16   virtual std::string GetDescription() const = 0; | 17   virtual std::string GetDescription() const = 0; | 
| 17   virtual std::string GetUsage() const = 0; | 18   virtual std::string GetUsage() const = 0; | 
|  | 19 | 
|  | 20 protected: | 
|  | 21   void ShowUsage() const; | 
| 18 }; | 22 }; | 
| 19 | 23 | 
| 20 typedef std::map<const std::string, Command*> CommandMap; | 24 typedef std::map<const std::string, Command*> CommandMap; | 
| 21 | 25 | 
| 22 class NoSuchCommandError : public std::runtime_error | 26 class NoSuchCommandError : public std::runtime_error | 
| 23 { | 27 { | 
| 24 public: | 28 public: | 
| 25   explicit NoSuchCommandError(const std::string& commandName); | 29   explicit NoSuchCommandError(const std::string& commandName); | 
| 26 }; | 30 }; | 
| 27 | 31 | 
| 28 #endif | 32 #endif | 
| OLD | NEW | 
|---|