<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/util/string, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-07-20T09:32:40Z</updated>
<entry>
<title>Intermediate changes</title>
<updated>2026-07-20T09:32:40Z</updated>
<author>
<name>robot-piglet</name>
<email>robot-piglet@yandex-team.com</email>
</author>
<published>2026-07-20T09:05:30Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7d359ee1ca06fc0162483a21342845082d270924'/>
<id>urn:sha1:7d359ee1ca06fc0162483a21342845082d270924</id>
<content type='text'>
commit_hash:dbb5d28367be7cb318f0e373533600e70075b14c
</content>
</entry>
<entry>
<title>Make Ascii-related functions and StripString() constexpr</title>
<updated>2026-07-17T19:23:20Z</updated>
<author>
<name>thegeorg</name>
<email>thegeorg@yandex-team.com</email>
</author>
<published>2026-07-17T17:02:10Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4a3634c81d134200825ad9db61bc73962b398fbd'/>
<id>urn:sha1:4a3634c81d134200825ad9db61bc73962b398fbd</id>
<content type='text'>
commit_hash:ff7ca9a2428930638288f8c0e92a303b8f620063
</content>
</entry>
<entry>
<title>Fix and enhance documentation comments in util</title>
<updated>2026-06-04T21:26:34Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2026-06-04T20:55:06Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=82cb0b7c397f462863035f2a3227bc47266e5b72'/>
<id>urn:sha1:82cb0b7c397f462863035f2a3227bc47266e5b72</id>
<content type='text'>
commit_hash:e121f7c48f58baff0e3690d60194525c2bfca083
</content>
</entry>
<entry>
<title>Add Concat for arbitrary string types</title>
<updated>2026-05-19T08:24:01Z</updated>
<author>
<name>vadim-xd</name>
<email>vadim-xd@yandex-team.com</email>
</author>
<published>2026-05-19T07:43:11Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=01de5d42afdaae5348a2ca2e9f47bdf038d29b11'/>
<id>urn:sha1:01de5d42afdaae5348a2ca2e9f47bdf038d29b11</id>
<content type='text'>
commit_hash:b9f1c87173a18fb59f8cf684191efd4436dd6012
</content>
</entry>
<entry>
<title>add support for std::string_view in the generic TryFromString function</title>
<updated>2026-01-30T17:49:27Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2026-01-30T17:00:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4741e31e59535bf1954abee227602c172da0db08'/>
<id>urn:sha1:4741e31e59535bf1954abee227602c172da0db08</id>
<content type='text'>
commit_hash:063cf15ddb263d176b0e4a179c1c77aa16bbf9f0
</content>
</entry>
<entry>
<title>Avoid constructing ill-formed `std::basic_string_view&lt;const char&gt;`</title>
<updated>2025-10-27T10:44:56Z</updated>
<author>
<name>borman</name>
<email>borman@yandex-team.com</email>
</author>
<published>2025-10-27T09:54:04Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=058dc84c54b72daf9e25b9ae090a80ed843d4cd0'/>
<id>urn:sha1:058dc84c54b72daf9e25b9ae090a80ed843d4cd0</id>
<content type='text'>
Since libc++19, only `std::char_traits&lt;char&gt;` is defined: https://github.com/llvm/llvm-project/commit/e30a148b098d462d0267c479cd9e4783363c2761
This makes usage of `std::char_traits&lt;const char&gt;`, `std::char_traits&lt;unsigned char&gt;`, etc invalid.

C++20 deduction guides are now used to infer proper `Char` type; while also avoiding being overly specific with `type_traits`.
commit_hash:c5ffaef9ef1c8b462d2fdf0e080a43d5cd4c4ca7
</content>
</entry>
<entry>
<title>StringSplitter: splitting an empty string should always produce exactly one token</title>
<updated>2025-10-21T22:00:33Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-10-21T21:40:56Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=30ad3d5b967bb270c8f5a1dcdeb205b23808b4cf'/>
<id>urn:sha1:30ad3d5b967bb270c8f5a1dcdeb205b23808b4cf</id>
<content type='text'>
Previously, the split operation would produce incorrect results if the bound of the user-provided string overlaps with the address of a default-constructed string. Introduce a sentinel value to ensure that such overlap are no longer possible.
Use additional boolean flag to check for the similar problem in the iterator-based version of algorithm.
commit_hash:6590787dc4c0319375efa3630a7146e31eed5e89
</content>
</entry>
<entry>
<title>Use 'size' instead of 'ysize'.</title>
<updated>2025-10-07T08:53:36Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2025-10-07T08:10:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=d6a6f731caa8c88b30c985abad8c3d3c85209c27'/>
<id>urn:sha1:d6a6f731caa8c88b30c985abad8c3d3c85209c27</id>
<content type='text'>
commit_hash:2992608384ed9b84c3f523bd2225a7ece2eeb9fc
</content>
</entry>
<entry>
<title>Remove a useless comment</title>
<updated>2025-09-21T19:24:02Z</updated>
<author>
<name>akhropov</name>
<email>akhropov@yandex-team.com</email>
</author>
<published>2025-09-21T19:09:02Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=8ff767a93c7022c779e952b37630f7ad679b1c48'/>
<id>urn:sha1:8ff767a93c7022c779e952b37630f7ad679b1c48</id>
<content type='text'>
commit_hash:678d75c67121dce4b0007e25b24c4e6ef173f8a8
</content>
</entry>
<entry>
<title>[util] track the lifetime of strings passed through the StripString function family</title>
<updated>2025-03-07T21:29:30Z</updated>
<author>
<name>swarmer</name>
<email>swarmer@yandex-team.com</email>
</author>
<published>2025-03-07T21:16:40Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=c9f8def64215301bd8809a93f792277cbcacd9fe'/>
<id>urn:sha1:c9f8def64215301bd8809a93f792277cbcacd9fe</id>
<content type='text'>
Specialize StripString functions for the std::string_view and TStringBuf types.

An example of erroneous code in which the compiler will be able to detect a problem with the lifetime of temporary string:
```
TStringBuf sb = StripString(TStringBuf{"   abc   "s});
Use(sb);  // segfault
```
commit_hash:ad47648de30fd1a7e59d39a8ec3918fd1484a0ba
</content>
</entry>
</feed>
