| 160 | i += res.offset; |
| 161 | return res.pt; |
| 162 | } |
| 163 | } |
| 164 | |
| 165 | static inline void utf16Encode(char32_t pt, std::vector<char16_t>& out) { |
| 166 | if (pt < 0x10000) { |
| 167 | out.push_back(static_cast<char16_t>(pt)); |
| 168 | } else if (pt < 0x110000) { |
| 169 | out.push_back(static_cast<char16_t>(((pt - 0x10000) >> 10) + 0xD800)); |
| 170 | out.push_back(static_cast<char16_t>((pt & 0x3FF) + 0xDC00)); |
| 171 | } else { |
| 172 | out.push_back(0xFFFD); |
| 173 | } |
| 174 | } |
| 175 |
no test coverage detected