/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
util/string/builder.h
39 строк
877 B
swarmer
detect dangling references to temporary TStringBuilder object
15 дек 2023, 17:53
15 дек 2023, 17:53
1040570
Код
Авторство
О чём код?
#pragma once #include <util/stream/str.h> #include <utility> #include <util/generic/string.h> namespace NPrivateStringBuilder { class TStringBuilder: public TString { public: inline TStringBuilder() : Out(*this) { } TStringBuilder(TStringBuilder&& rhs) noexcept : TString(std::move(rhs)) , Out(*this) { } TStringOutput Out; }; template <class T> static inline TStringBuilder& operator<<(TStringBuilder& builder Y_LIFETIME_BOUND, const T& t) { builder.Out << t; return builder; } template <class T> static inline TStringBuilder&& operator<<(TStringBuilder&& builder Y_LIFETIME_BOUND, const T& t) { builder.Out << t; return std::move(builder); } } using TStringBuilder = NPrivateStringBuilder::TStringBuilder;