string_builder.cpp 690 B

123456789101112131415161718192021222324252627282930
  1. #include "string_builder.h"
  2. namespace NYT {
  3. ////////////////////////////////////////////////////////////////////////////////
  4. TDelimitedStringBuilderWrapper::TDelimitedStringBuilderWrapper(
  5. TStringBuilderBase* builder,
  6. TStringBuf delimiter)
  7. : Builder_(builder)
  8. , Delimiter_(delimiter)
  9. { }
  10. TStringBuilderBase* TDelimitedStringBuilderWrapper::operator->()
  11. {
  12. return operator&();
  13. }
  14. TStringBuilderBase* TDelimitedStringBuilderWrapper::operator&()
  15. {
  16. if (!FirstCall_) {
  17. Builder_->AppendString(Delimiter_);
  18. }
  19. FirstCall_ = false;
  20. return Builder_;
  21. }
  22. ////////////////////////////////////////////////////////////////////////////////
  23. } // namespace NYT