summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-10-27 13:26:40 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-10-27 13:26:40 +0200
commitee882d9d020f8f0104af8336e64b7202fd6b5949 (patch)
treeb136f0877b62f5e72914dfff90f0eb389279e542 /src
parent61c8ef6ce47adf10a2bd0a0465835e8bcfa09609 (diff)
utf8: use CharCount instead of size_t
Diffstat (limited to 'src')
-rw-r--r--src/utf8.hh9
-rw-r--r--src/utf8_iterator.hh8
2 files changed, 9 insertions, 8 deletions
diff --git a/src/utf8.hh b/src/utf8.hh
index f18b23dd..1d26a7e2 100644
--- a/src/utf8.hh
+++ b/src/utf8.hh
@@ -3,6 +3,7 @@
#include <cstddef>
#include "unicode.hh"
+#include "units.hh"
#include "assert.hh"
namespace Kakoune
@@ -43,8 +44,8 @@ Iterator previous(Iterator it)
// returns an iterator pointing to the first byte of the
// dth character after (or before if d < 0) the character
// pointed by it
-template<typename Iterator, typename Distance>
-Iterator advance(Iterator it, Iterator end, Distance d)
+template<typename Iterator>
+Iterator advance(Iterator it, Iterator end, CharCount d)
{
if (d < 0)
{
@@ -61,9 +62,9 @@ Iterator advance(Iterator it, Iterator end, Distance d)
// returns the character count between begin and end
template<typename Iterator>
-size_t distance(Iterator begin, Iterator end)
+CharCount distance(Iterator begin, Iterator end)
{
- size_t dist = 0;
+ CharCount dist = 0;
while (begin != end)
{
if ((*begin++ & 0xC0) != 0x80)
diff --git a/src/utf8_iterator.hh b/src/utf8_iterator.hh
index 9bd0241a..464aff3a 100644
--- a/src/utf8_iterator.hh
+++ b/src/utf8_iterator.hh
@@ -47,7 +47,7 @@ public:
return save;
}
- utf8_iterator operator+(int count) const
+ utf8_iterator operator+(CharCount count) const
{
if (count < 0)
return operator-(-count);
@@ -58,7 +58,7 @@ public:
return res;
}
- utf8_iterator operator-(int count) const
+ utf8_iterator operator-(CharCount count) const
{
if (count < 0)
return operator+(-count);
@@ -92,12 +92,12 @@ public:
return m_it >= other.m_it;
}
- size_t operator-(utf8_iterator other) const
+ CharCount operator-(utf8_iterator other) const
{
//assert(other < *this);
check_invariant();
other.check_invariant();
- size_t dist = 0;
+ CharCount dist = 0;
while (other.m_it != m_it)
{
++dist;