aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvadim-xd <vadim-xd@yandex-team.com>2023-10-07 16:52:22 +0300
committervadim-xd <vadim-xd@yandex-team.com>2023-10-07 17:10:44 +0300
commit00502eb58844fa0201623d8e5386dcfbf1408e86 (patch)
tree355646d5a454ac41d424a688b733f578262747f4
parent3f1d0be98dc7b1ff95e43410438091ea629d02c7 (diff)
downloadydb-00502eb58844fa0201623d8e5386dcfbf1408e86.tar.gz
Add global user-defined literal for TStringBuf
-rw-r--r--util/generic/strbuf.h4
-rw-r--r--util/generic/strbuf_ut.cpp6
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) {