From 572af7499d088a239d37e9dc09e5e7ac45c13d29 Mon Sep 17 00:00:00 2001 From: Adrian Kummerländer Date: Wed, 9 Apr 2014 18:31:44 +0200 Subject: Switched to standard integer types * i.e. replaced uint8_t with std::uint8_t contained within the standard namespace ** as this version of the types is defined by the standard this should offer better compiler independence and standard compliance * removed unnecessary pointer and reference type arguments in the std::iterator template specializations the CodepointIterator class is derived from --- src/codepoint_iterator.cc | 8 ++++---- src/codepoint_iterator.h | 4 +--- src/utility.cc | 10 +++++----- src/utility.h | 8 ++++---- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/codepoint_iterator.cc b/src/codepoint_iterator.cc index 99ea866..b2f6d81 100644 --- a/src/codepoint_iterator.cc +++ b/src/codepoint_iterator.cc @@ -35,8 +35,8 @@ bool CodepointIterator::operator!=( } char32_t CodepointIterator::operator*() { - uint8_t currByte = *(this->iterator_); - char32_t codePoint = 0; + std::uint8_t currByte = *(this->iterator_); + char32_t codePoint = 0; if ( match(currByte, dtl::CodeUnitType::CONTINUATION) ) { if ( match(currByte, dtl::CodeUnitType::THREE) ) { @@ -89,8 +89,8 @@ char32_t CodepointIterator::operator*() { } CodepointIterator& CodepointIterator::operator++() { - uint8_t currByte = *(this->iterator_); - std::string::difference_type offset = 1; + std::uint8_t currByte(*(this->iterator_)); + std::string::difference_type offset(1); if ( match(currByte, dtl::CodeUnitType::CONTINUATION) ) { if ( match(currByte, dtl::CodeUnitType::THREE) ) { diff --git a/src/codepoint_iterator.h b/src/codepoint_iterator.h index 6c8c43d..b505587 100644 --- a/src/codepoint_iterator.h +++ b/src/codepoint_iterator.h @@ -9,9 +9,7 @@ namespace UTF8 { class CodepointIterator : public std::iterator { + std::string::difference_type> { public: CodepointIterator(std::string::const_iterator); CodepointIterator(const CodepointIterator&); diff --git a/src/utility.cc b/src/utility.cc index 92ba7b9..9d81f61 100644 --- a/src/utility.cc +++ b/src/utility.cc @@ -3,15 +3,15 @@ namespace UTF8 { namespace dtl { -bool match(const uint8_t& codeUnit, CodeUnitType&& type) { - return codeUnit & static_cast(type); +bool match(const std::uint8_t& codeUnit, CodeUnitType&& type) { + return codeUnit & static_cast(type); } void write(char32_t& codePoint, - const uint8_t& codeUnit, + const std::uint8_t& codeUnit, CodePoint&& mask, - const uint8_t& offset) { - codePoint += (codeUnit & static_cast(mask)) << offset; + const std::uint8_t& offset) { + codePoint += (codeUnit & static_cast(mask)) << offset; } } diff --git a/src/utility.h b/src/utility.h index dcdcf75..e185e3e 100644 --- a/src/utility.h +++ b/src/utility.h @@ -6,22 +6,22 @@ namespace UTF8 { namespace dtl { -enum class CodeUnitType : uint8_t { +enum class CodeUnitType : std::uint8_t { CONTINUATION = (128 >> 0), // 10000000 LEADING = (128 >> 1), // 01000000 THREE = (128 >> 2), // 00100000 FOUR = (128 >> 3), // 00010000 }; -enum class CodePoint : uint8_t { +enum class CodePoint : std::uint8_t { CONTINUATION = (UINT8_MAX >> 2), // 00111111 TWO = (UINT8_MAX >> 3), // 00011111 THREE = (UINT8_MAX >> 4), // 00001111 FOUR = (UINT8_MAX >> 5), // 00000111 }; -bool match(const uint8_t&, CodeUnitType&&); -void write(char32_t&, const uint8_t&, CodePoint&&, const uint8_t&); +bool match(const std::uint8_t&, CodeUnitType&&); +void write(char32_t&, const std::uint8_t&, CodePoint&&, const std::uint8_t&); } } -- cgit v1.2.3