diff options
author | vadim-xd <vadim-xd@yandex-team.com> | 2023-10-07 16:52:22 +0300 |
---|---|---|
committer | vadim-xd <vadim-xd@yandex-team.com> | 2023-10-07 17:10:44 +0300 |
commit | 00502eb58844fa0201623d8e5386dcfbf1408e86 (patch) | |
tree | 355646d5a454ac41d424a688b733f578262747f4 | |
parent | 3f1d0be98dc7b1ff95e43410438091ea629d02c7 (diff) | |
download | ydb-00502eb58844fa0201623d8e5386dcfbf1408e86.tar.gz |
Add global user-defined literal for TStringBuf
-rw-r--r-- | util/generic/strbuf.h | 4 | ||||
-rw-r--r-- | util/generic/strbuf_ut.cpp | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/util/generic/strbuf.h b/util/generic/strbuf.h index 70b9360d58..7b06629299 100644 --- a/util/generic/strbuf.h +++ b/util/generic/strbuf.h @@ -537,3 +537,7 @@ private: }; std::ostream& operator<<(std::ostream& os, TStringBuf buf); + +constexpr TStringBuf operator""_sb(const char* str, size_t len) { + return TStringBuf{str, len}; +} diff --git a/util/generic/strbuf_ut.cpp b/util/generic/strbuf_ut.cpp index 0b1a5d0eb5..245b93bc98 100644 --- a/util/generic/strbuf_ut.cpp +++ b/util/generic/strbuf_ut.cpp @@ -356,6 +356,12 @@ Y_UNIT_TEST_SUITE(TStrBufTest) { s.Trunc(0); UNIT_ASSERT_STRINGS_EQUAL(s, ""); } + + Y_UNIT_TEST(TestLiterals) { + auto s = "123"_sb; + static_assert(std::is_same_v<decltype(s), TStringBuf>); + UNIT_ASSERT_VALUES_EQUAL(s, TStringBuf("123")); + } } Y_UNIT_TEST_SUITE(TWtrBufTest) { |