From b7add35b490546eabbcd8ee474117c90cd6819ac Mon Sep 17 00:00:00 2001 From: babenko Date: Mon, 18 May 2026 18:23:26 +0300 Subject: YT-22593: Migrate yt/yt/ytree to std::string commit_hash:3466775b052bc8a85a2aa85e9605968e7a5ea025 --- library/cpp/yt/yson_string/string.cpp | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'library/cpp/yt/yson_string/string.cpp') diff --git a/library/cpp/yt/yson_string/string.cpp b/library/cpp/yt/yson_string/string.cpp index c21783b204a..2680cdbcdcf 100644 --- a/library/cpp/yt/yson_string/string.cpp +++ b/library/cpp/yt/yson_string/string.cpp @@ -61,13 +61,6 @@ EYsonType TYsonStringBuf::GetType() const //////////////////////////////////////////////////////////////////////////////// -TYsonString::TYsonString() -{ - Begin_ = nullptr; - Size_ = 0; - Type_ = EYsonType::Node; // fake -} - TYsonString::TYsonString(const TYsonStringBuf& ysonStringBuf) { if (ysonStringBuf) { @@ -94,21 +87,32 @@ TYsonString::TYsonString( TYsonString::TYsonString( const TString& data, EYsonType type) - : Payload_(TCowString(data)) + : TYsonString(TCowString(data), type) +{ } + +TYsonString::TYsonString( + TCowString data, + EYsonType type) + : Payload_(std::move(data)) , Begin_(std::get(Payload_).data()) - , Size_(data.length()) + , Size_(std::get(Payload_).length()) , Type_(type) { } +TYsonString::TYsonString( + std::string data, + EYsonType type) + : TYsonString(TCowString(std::move(data)), type) +{ } + TYsonString::TYsonString( const TSharedRef& data, EYsonType type) -{ - Payload_ = data.GetHolder(); - Begin_ = data.Begin(); - Size_ = data.Size(); - Type_ = type; -} + : Payload_(data.GetHolder()) + , Begin_(data.Begin()) + , Size_(data.Size()) + , Type_(type) +{ } TYsonString::operator bool() const { -- cgit v1.3