summaryrefslogtreecommitdiff
path: root/src/register.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-06-29 18:37:17 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-06-29 18:37:17 +0200
commitdfbda951d38386d992c5ecd005fdf78ae93cb3d3 (patch)
treee38684974e32b639550e93e522ce18befadd1d63 /src/register.hh
parent5b2ef1da6aecb82cf549e4b17e246149e4ad9968 (diff)
support static and dynamic registers, add '%' (filename) and '.' (selection) registers
Diffstat (limited to 'src/register.hh')
-rw-r--r--src/register.hh14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/register.hh b/src/register.hh
index fc50e44f..c90b7233 100644
--- a/src/register.hh
+++ b/src/register.hh
@@ -1,8 +1,6 @@
#ifndef register_hh_INCLUDED
#define register_hh_INCLUDED
-#include <vector>
-
#include "string.hh"
#include "memoryview.hh"
@@ -12,16 +10,12 @@ namespace Kakoune
class Register
{
public:
- Register& operator=(const memoryview<String>& values);
-
- const String& operator[](size_t index) const;
+ virtual ~Register() {}
+ virtual Register& operator=(const memoryview<String>& values) = 0;
- operator memoryview<String>() const
- { return memoryview<String>(m_content); }
-private:
- std::vector<String> m_content;
+ virtual const String& operator[](size_t index) = 0;
- static const String ms_empty;
+ virtual operator memoryview<String>() = 0;
};
}