Skip to content

Commit b796797

Browse files
authored
explicitly call TString::MutRef in the conversion to std::string (#28207)
Hide implementation and use move constructor. IGNIETFERRO-2155
1 parent 397bcb1 commit b796797

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

ydb/public/sdk/cpp/include/ydb-cpp-sdk/library/issue/yql_issue.h

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#include <util/generic/ptr.h>
44
#include <util/generic/yexception.h>
55
#include <util/stream/output.h>
6-
#include <util/stream/str.h>
76
#include <util/system/types.h>
87
#include <util/str_stl.h>
98

@@ -183,11 +182,7 @@ class TIssue: public TThrRefBase {
183182

184183
void PrintTo(IOutputStream& out, bool oneLine = false) const;
185184

186-
std::string ToString(bool oneLine = false) const {
187-
TStringStream out;
188-
PrintTo(out, oneLine);
189-
return out.Str();
190-
}
185+
std::string ToString(bool oneLine = false) const;
191186

192187
// Unsafe method. Doesn't call SanitizeNonAscii(Message)
193188
std::string* MutableMessage() {
@@ -295,11 +290,7 @@ class TIssues {
295290
const std::string& programFilename,
296291
const std::string& programText) const;
297292

298-
inline std::string ToString(bool oneLine = false) const {
299-
TStringStream out;
300-
PrintTo(out, oneLine);
301-
return out.Str();
302-
}
293+
std::string ToString(bool oneLine = false) const;
303294

304295
std::string ToOneLineString() const {
305296
return ToString(true);

ydb/public/sdk/cpp/src/library/issue/yql_issue.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <library/cpp/colorizer/output.h>
88

99
#include <util/charset/utf8.h>
10+
#include <util/stream/str.h>
1011
#include <util/string/ascii.h>
1112
#include <util/string/split.h>
1213
#include <util/string/strip.h>
@@ -79,6 +80,12 @@ void TIssue::PrintTo(IOutputStream& out, bool oneLine) const {
7980
}
8081
}
8182

83+
std::string TIssue::ToString(bool oneLine) const {
84+
TStringStream out;
85+
PrintTo(out, oneLine);
86+
return std::move(out.Str().MutRef());
87+
}
88+
8289
void WalkThroughIssues(const TIssue& topIssue, bool leafOnly, std::function<void(const TIssue&, uint16_t level)> fn, std::function<void(const TIssue&, uint16_t level)> afterChildrenFn) {
8390
enum class EFnType {
8491
Main,
@@ -224,6 +231,12 @@ void TIssues::PrintWithProgramTo(
224231
}
225232
}
226233

234+
std::string TIssues::ToString(bool oneLine) const {
235+
TStringStream out;
236+
PrintTo(out, oneLine);
237+
return std::move(out.Str().MutRef());
238+
}
239+
227240
TIssue ExceptionToIssue(const std::exception& e, const TPosition& pos) {
228241
std::string_view messageBuf = e.what();
229242
auto parsedPos = TryParseTerminationMessage(messageBuf);

0 commit comments

Comments
 (0)