summaryrefslogtreecommitdiff
path: root/src/buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-01-10 12:56:09 +0000
committerMaxime Coste <frrrwww@gmail.com>2015-01-10 12:56:09 +0000
commit9adb97ea288e08bf9d098fc195aaf8c0f9a27c3e (patch)
treea8c0cc3968bf5ca36caa823b03145e60a8e21a20 /src/buffer.hh
parent9f9156a7520a8fb62cdb9db4a7fc63434abbb17b (diff)
Track buffer lines memory
Diffstat (limited to 'src/buffer.hh')
-rw-r--r--src/buffer.hh16
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;