aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/string/string_builder.cpp
diff options
context:
space:
mode:
authorbabenko <babenko@yandex-team.com>2024-10-13 17:47:48 +0300
committerbabenko <babenko@yandex-team.com>2024-10-13 17:58:33 +0300
commita03ad07f802b86bbf071acbe1358f7e00ca4be34 (patch)
tree97119051e524f85854516f141e818b81a0f24a39 /library/cpp/yt/string/string_builder.cpp
parent9a90e464060c2d7a036a1b94b1076f7ea7e0cc95 (diff)
downloadydb-a03ad07f802b86bbf071acbe1358f7e00ca4be34.tar.gz
Extract string_builder
commit_hash:1573c88f09db79bab2755c9c2c3ffd0bc219b2d2
Diffstat (limited to 'library/cpp/yt/string/string_builder.cpp')
-rw-r--r--library/cpp/yt/string/string_builder.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/library/cpp/yt/string/string_builder.cpp b/library/cpp/yt/string/string_builder.cpp
new file mode 100644
index 0000000000..bca493fa32
--- /dev/null
+++ b/library/cpp/yt/string/string_builder.cpp
@@ -0,0 +1,30 @@
+#include "string_builder.h"
+
+namespace NYT {
+
+////////////////////////////////////////////////////////////////////////////////
+
+TDelimitedStringBuilderWrapper::TDelimitedStringBuilderWrapper(
+ TStringBuilderBase* builder,
+ TStringBuf delimiter)
+ : Builder_(builder)
+ , Delimiter_(delimiter)
+{ }
+
+TStringBuilderBase* TDelimitedStringBuilderWrapper::operator->()
+{
+ return operator&();
+}
+
+TStringBuilderBase* TDelimitedStringBuilderWrapper::operator&()
+{
+ if (!FirstCall_) {
+ Builder_->AppendString(Delimiter_);
+ }
+ FirstCall_ = false;
+ return Builder_;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT