| 160 | } |
| 161 | |
| 162 | std::pair<const char*, size_t> utf16ToUtf8(const char16_t* utf16String, size_t len) { |
| 163 | thread_local static std::vector<char> tBuffer; |
| 164 | auto& buffer = tBuffer; |
| 165 | buffer.clear(); |
| 166 | |
| 167 | for (std::u16string::size_type i = 0; i < len;) { |
| 168 | utf8Encode(utf16Decode(utf16String, i), buffer); |
| 169 | } |
| 170 | |
| 171 | return std::make_pair(buffer.data(), buffer.size()); |
| 172 | } |
| 173 | |
| 174 | std::pair<const char16_t*, size_t> utf8ToUtf16(const char* utf8String, size_t len) { |
| 175 | thread_local static std::vector<char16_t> tBuffer; |
no test coverage detected