Use Pass as default policy for invalid utf8 avoid asserting on that

This commit is contained in:
Maxime Coste 2014-10-13 19:54:40 +01:00
parent 894dd2e055
commit eb0d03f437
2 changed files with 5 additions and 5 deletions

View File

@ -107,7 +107,7 @@ struct Pass
// returns the codepoint of the character whose first byte
// is pointed by it
template<typename InvalidPolicy = utf8::InvalidPolicy::Assert,
template<typename InvalidPolicy = utf8::InvalidPolicy::Pass,
typename Iterator>
Codepoint codepoint(Iterator it, Iterator end)
{
@ -146,7 +146,7 @@ Codepoint codepoint(Iterator it, Iterator end)
return InvalidPolicy{}(byte);
}
template<typename InvalidPolicy = utf8::InvalidPolicy::Assert>
template<typename InvalidPolicy = utf8::InvalidPolicy::Pass>
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;
}
}

View File

@ -12,7 +12,7 @@ namespace utf8
// adapter for an iterator on bytes which permits to iterate
// on unicode codepoints instead.
template<typename Iterator,
typename InvalidPolicy = utf8::InvalidPolicy::Assert>
typename InvalidPolicy = utf8::InvalidPolicy::Pass>
class iterator
{
public:
@ -140,7 +140,7 @@ private:
mutable Codepoint m_value = -1;
};
template<typename InvalidPolicy = utf8::InvalidPolicy::Assert, typename Iterator>
template<typename InvalidPolicy = utf8::InvalidPolicy::Pass, typename Iterator>
iterator<Iterator, InvalidPolicy> make_iterator(Iterator it)
{
return iterator<Iterator, InvalidPolicy>{std::move(it)};