MCPcopy Create free account
hub / github.com/Snapchat/Valdi / utf32ToUtf16

Function utf32ToUtf16

valdi_core/src/valdi_core/cpp/Text/UTF16Utils.cpp:222–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

220}
221
222std::pair<const char16_t*, size_t> utf32ToUtf16(const uint32_t* utf32String, size_t length) {
223 thread_local static std::vector<char16_t> tBuffer;
224 auto& buffer = tBuffer;
225
226 auto utf16Size = countUtf32ToUtf16(utf32String, length);
227 buffer.resize(utf16Size);
228
229 utf32ToUtf16(utf32String, length, buffer.data(), buffer.size());
230
231 return std::make_pair(buffer.data(), buffer.size());
232}
233
234size_t countUtf32ToUtf16(uint32_t utf32Character) {
235 return utf32Character > 0xFFFF ? 2 : 1;

Callers 3

utf16StorageMethod · 0.85
newStringFromUtf32Function · 0.85
resolveParagraphsICUMethod · 0.85

Calls 4

countUtf32ToUtf16Function · 0.85
resizeMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected