SHARE
TWEET

Untitled

P-Gaideec Mar 16th, 2019 152 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifndef INITIALIZATION_H
  2. #define INITIALIZATION_H
  3. #include "CommandInterface.h"
  4.  
  5.  
  6. //Cutting Class
  7.  
  8. class CutCOmmandInterface : public CommandInterface
  9. {
  10. public:
  11.     class CutInterface : public TextTransform
  12.     {
  13.     public:
  14.         std::string cuttedText;
  15.  
  16.         virtual void invokeOn(std::string& text, int startIndex, int endIndex) override {
  17.  
  18.             if (startIndex == endIndex)
  19.             {
  20.                 cuttedText.clear();
  21.             }
  22.             else
  23.             {
  24.                 cuttedText = text.substr(startIndex, endIndex);
  25.             }
  26.  
  27.             text.erase(startIndex, endIndex);
  28.         }
  29.     };
  30.  
  31.     virtual std::vector<Command> initCommands() override {
  32.         std::vector<Command> commands;
  33.  
  34.         commands.push_back(Command("cut", std::make_shared<CutInterface>()));
  35.  
  36.         return commands;
  37.     }
  38. };
  39.  
  40. //Pasting Class
  41.  
  42. class PasteCommandInterface : public CommandInterface
  43. {
  44. public:
  45.     class PasteInterface : public TextTransform
  46.     {
  47.     public:
  48.         virtual void invokeOn(std::string& text, int startIndex, int endIndex) override {
  49.             CutCOmmandInterface::CutInterface cut;
  50.             text.replace(startIndex, endIndex, cut.cuttedText);
  51.         }
  52.     };
  53.  
  54.     virtual std::vector<Command> initCommands() override {
  55.         std::vector<Command> commands;
  56.  
  57.         commands.push_back(Command("paste", std::make_shared<PasteInterface>()));
  58.  
  59.         return commands;
  60.     }
  61. };
  62.  
  63.  
  64.  
  65.  
  66. #endif // !INITIALIZATION_H
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top