| 177 | |
| 178 | template <typename octet_iterator> |
| 179 | utf_error get_sequence_3(octet_iterator& it, octet_iterator end, uint32_t& code_point) |
| 180 | { |
| 181 | if (it == end) |
| 182 | return NOT_ENOUGH_ROOM; |
| 183 | |
| 184 | code_point = utf8::internal::mask8(*it); |
| 185 | |
| 186 | UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) |
| 187 | |
| 188 | code_point = ((code_point << 12) & 0xffff) + ((utf8::internal::mask8(*it) << 6) & 0xfff); |
| 189 | |
| 190 | UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) |
| 191 | |
| 192 | code_point += (*it) & 0x3f; |
| 193 | |
| 194 | return UTF8_OK; |
| 195 | } |
| 196 | |
| 197 | template <typename octet_iterator> |
| 198 | utf_error get_sequence_4(octet_iterator& it, octet_iterator end, uint32_t& code_point) |
no test coverage detected