summaryrefslogtreecommitdiff
path: root/src/buffer.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-10-03 13:39:13 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-10-03 13:39:13 +0100
commitd4a84125ef4d23f2c3e0b2eed5f6efbdc88af141 (patch)
tree7bb1f1a86b3361c8bae8c2ae0b400da7a856d514 /src/buffer.hh
parentfc53a80395d569d94bd98e3aa3cdc3baf7baea4d (diff)
Use InternedStrings for buffer contents
Diffstat (limited to 'src/buffer.hh')
-rw-r--r--src/buffer.hh16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/buffer.hh b/src/buffer.hh
index e24bc786..01504170 100644
--- a/src/buffer.hh
+++ b/src/buffer.hh
@@ -6,7 +6,7 @@
#include "option_manager.hh"
#include "keymap_manager.hh"
#include "safe_ptr.hh"
-#include "string.hh"
+#include "interned_string.hh"
#include "value.hh"
#include <vector>
@@ -92,7 +92,7 @@ public:
bool set_name(String name);
- BufferIterator insert(const BufferIterator& pos, String content);
+ BufferIterator insert(const BufferIterator& pos, StringView content);
BufferIterator erase(BufferIterator begin, BufferIterator end);
size_t timestamp() const;
@@ -126,7 +126,7 @@ public:
BufferIterator end() const;
LineCount line_count() const;
- const String& operator[](LineCount line) const
+ const StringView& operator[](LineCount line) const
{ return m_lines[line]; }
// returns an iterator at given coordinates. clamp line_and_column
@@ -178,15 +178,15 @@ private:
void on_option_changed(const Option& option) override;
- struct LineList : std::vector<String>
+ struct LineList : std::vector<InternedString>
{
[[gnu::always_inline]]
- String& operator[](LineCount line)
- { return std::vector<String>::operator[]((int)line); }
+ InternedString& operator[](LineCount line)
+ { return std::vector<InternedString>::operator[]((int)line); }
[[gnu::always_inline]]
- const String& operator[](LineCount line) const
- { return std::vector<String>::operator[]((int)line); }
+ const InternedString& operator[](LineCount line) const
+ { return std::vector<InternedString>::operator[]((int)line); }
};
LineList m_lines;