diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2011-10-17 14:12:15 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2011-10-17 14:12:15 +0000 |
| commit | 53ce1e016af574081cbe84d01547fd72d3b1a133 (patch) | |
| tree | 4c2df3d9f8e7e8a8f643c700345075999a59d7fe /src/buffer.hh | |
| parent | dc74934e59c89582153e21e345f204a3b3e8b794 (diff) | |
Buffer: move struct Modification out of class, as BufferModification
Diffstat (limited to 'src/buffer.hh')
| -rw-r--r-- | src/buffer.hh | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/buffer.hh b/src/buffer.hh index d30a125e..d860b9d4 100644 --- a/src/buffer.hh +++ b/src/buffer.hh @@ -72,6 +72,21 @@ private: friend class Buffer; }; +struct BufferModification +{ + enum Type { Insert, Erase }; + + Type type; + BufferIterator position; + BufferString content; + + BufferModification(Type type, BufferIterator position, + BufferString content) + : type(type), position(position), content(content) {} + + BufferModification inverse() const; +}; + class Buffer { public: @@ -142,29 +157,16 @@ private: std::string m_name; const Type m_type; - struct Modification - { - enum Type { Insert, Erase }; - - Type type; - BufferIterator position; - BufferString content; - - Modification(Type type, BufferIterator position, BufferString content) - : type(type), position(position), content(content) {} - - Modification inverse() const; - }; - typedef std::vector<Modification> UndoGroup; + typedef std::vector<BufferModification> UndoGroup; std::vector<UndoGroup> m_history; std::vector<UndoGroup>::iterator m_history_cursor; UndoGroup m_current_undo_group; - void replay_modification(const Modification& modification); - void revert_modification(const Modification& modification); + void replay_modification(const BufferModification& modification); + void revert_modification(const BufferModification& modification); - void append_modification(Modification&& modification); + void append_modification(BufferModification&& modification); std::list<std::unique_ptr<Window>> m_windows; |
