MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / utf8Truncate

Function utf8Truncate

src/openrct2/core/String.cpp:667–681  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

665 }
666
667 std::string_view utf8Truncate(std::string_view v, size_t size)
668 {
669 auto trunc = v.substr(0, size);
670 for (size_t i = 0; i < trunc.size();)
671 {
672 auto length = utf8GetCodePointSize(trunc.substr(i, trunc.size()));
673 if (!length.has_value())
674 {
675 return trunc.substr(0, i);
676 }
677 i += length.value();
678 }
679
680 return trunc;
681 }
682
683 std::string_view utf8TruncateCodePoints(std::string_view v, size_t size)
684 {

Callers 1

CodepointViewMethod · 0.85

Calls 3

utf8GetCodePointSizeFunction · 0.85
valueMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected