diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-01-10 12:56:09 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-01-10 12:56:09 +0000 |
| commit | 9adb97ea288e08bf9d098fc195aaf8c0f9a27c3e (patch) | |
| tree | a8c0cc3968bf5ca36caa823b03145e60a8e21a20 /src/buffer.hh | |
| parent | 9f9156a7520a8fb62cdb9db4a7fc63434abbb17b (diff) | |
Track buffer lines memory
Diffstat (limited to 'src/buffer.hh')
| -rw-r--r-- | src/buffer.hh | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/buffer.hh b/src/buffer.hh index 609a030d..a31062c4 100644 --- a/src/buffer.hh +++ b/src/buffer.hh @@ -167,15 +167,16 @@ private: void on_option_changed(const Option& option) override; - struct LineList : std::vector<InternedString> + using LineListBase = Vector<InternedString, MemoryDomain::BufferContent>; + struct LineList : LineListBase { [[gnu::always_inline]] InternedString& operator[](LineCount line) - { return std::vector<InternedString>::operator[]((int)line); } + { return LineListBase::operator[]((int)line); } [[gnu::always_inline]] const InternedString& operator[](LineCount line) const - { return std::vector<InternedString>::operator[]((int)line); } + { return LineListBase::operator[]((int)line); } }; LineList m_lines; @@ -189,16 +190,17 @@ private: using UndoGroup = std::vector<Modification>; friend class UndoGroupOptimizer; - std::vector<UndoGroup> m_history; - std::vector<UndoGroup>::iterator m_history_cursor; - UndoGroup m_current_undo_group; + using History = Vector<UndoGroup, MemoryDomain::BufferMeta>; + History m_history; + History::iterator m_history_cursor; + UndoGroup m_current_undo_group; void apply_modification(const Modification& modification); void revert_modification(const Modification& modification); size_t m_last_save_undo_index; - std::vector<Change> m_changes; + Vector<Change, MemoryDomain::BufferMeta> m_changes; time_t m_fs_timestamp; |
