diff options
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 00000000000..bca493fa325 --- /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 |
