diff options
author | babenko <babenko@yandex-team.com> | 2024-10-13 17:47:48 +0300 |
---|---|---|
committer | babenko <babenko@yandex-team.com> | 2024-10-13 17:58:33 +0300 |
commit | a03ad07f802b86bbf071acbe1358f7e00ca4be34 (patch) | |
tree | 97119051e524f85854516f141e818b81a0f24a39 /library/cpp/yt/string/string_builder.cpp | |
parent | 9a90e464060c2d7a036a1b94b1076f7ea7e0cc95 (diff) | |
download | ydb-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.cpp | 30 |
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 |