144
146
template <typename u16bit_iterator, typename octet_iterator>
145
147
u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result)
148
150
uint32_t cp = next(start);
149
151
if (cp > 0xffff) { //make a surrogate pair
150
152
*result++ = static_cast<uint16_t>((cp >> 10) + internal::LEAD_OFFSET);