diff --git a/src/utf8.hh b/src/utf8.hh index 116c225e..20199030 100644 --- a/src/utf8.hh +++ b/src/utf8.hh @@ -107,7 +107,7 @@ struct Pass // returns the codepoint of the character whose first byte // is pointed by it -template Codepoint codepoint(Iterator it, Iterator end) { @@ -146,7 +146,7 @@ Codepoint codepoint(Iterator it, Iterator end) return InvalidPolicy{}(byte); } -template +template ByteCount codepoint_size(char byte) { if (not (byte & 0x80)) // 0xxxxxxx @@ -160,7 +160,7 @@ ByteCount codepoint_size(char byte) else { InvalidPolicy{}(byte); - return -1; + return 1; } } diff --git a/src/utf8_iterator.hh b/src/utf8_iterator.hh index d2d8fa6a..1637fe2d 100644 --- a/src/utf8_iterator.hh +++ b/src/utf8_iterator.hh @@ -12,7 +12,7 @@ namespace utf8 // adapter for an iterator on bytes which permits to iterate // on unicode codepoints instead. template + typename InvalidPolicy = utf8::InvalidPolicy::Pass> class iterator { public: @@ -140,7 +140,7 @@ private: mutable Codepoint m_value = -1; }; -template +template iterator make_iterator(Iterator it) { return iterator{std::move(it)};