aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yson/node
diff options
context:
space:
mode:
authorpechatnov <pechatnov@yandex-team.ru>2022-02-10 16:48:57 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:48:57 +0300
commit132a3640fac343164b858d0a914e020a848a2848 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/yson/node
parent8e9b2f8bbf4a2320f539eef5b85555f42c065425 (diff)
downloadydb-132a3640fac343164b858d0a914e020a848a2848.tar.gz
Restoring authorship annotation for <pechatnov@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/yson/node')
-rw-r--r--library/cpp/yson/node/node.cpp60
-rw-r--r--library/cpp/yson/node/node.h20
-rw-r--r--library/cpp/yson/node/node_ut.cpp26
3 files changed, 53 insertions, 53 deletions
diff --git a/library/cpp/yson/node/node.cpp b/library/cpp/yson/node/node.cpp
index 7248148d0c..b39e070718 100644
--- a/library/cpp/yson/node/node.cpp
+++ b/library/cpp/yson/node/node.cpp
@@ -456,71 +456,71 @@ TNode& TNode::At(size_t index) {
return list[index];
}
-TNode& TNode::Add() &
+TNode& TNode::Add() &
{
AssureList();
return std::get<TListType>(Value_).emplace_back();
}
-TNode TNode::Add() &&
+TNode TNode::Add() &&
+{
+ return std::move(Add());
+}
+
+TNode& TNode::Add(const TNode& node) &
{
- return std::move(Add());
-}
-
-TNode& TNode::Add(const TNode& node) &
-{
AssureList();
std::get<TListType>(Value_).emplace_back(node);
return *this;
}
-TNode TNode::Add(const TNode& node) &&
+TNode TNode::Add(const TNode& node) &&
+{
+ return std::move(Add(node));
+}
+
+TNode& TNode::Add(TNode&& node) &
{
- return std::move(Add(node));
-}
-
-TNode& TNode::Add(TNode&& node) &
-{
AssureList();
std::get<TListType>(Value_).emplace_back(std::move(node));
return *this;
}
-TNode TNode::Add(TNode&& node) &&
-{
- return std::move(Add(std::move(node)));
-}
-
+TNode TNode::Add(TNode&& node) &&
+{
+ return std::move(Add(std::move(node)));
+}
+
bool TNode::HasKey(const TStringBuf key) const
{
CheckType(Map);
return std::get<TMapType>(Value_).contains(key);
}
-TNode& TNode::operator()(const TString& key, const TNode& value) &
+TNode& TNode::operator()(const TString& key, const TNode& value) &
{
AssureMap();
std::get<TMapType>(Value_)[key] = value;
return *this;
}
-TNode TNode::operator()(const TString& key, const TNode& value) &&
+TNode TNode::operator()(const TString& key, const TNode& value) &&
+{
+ return std::move(operator()(key, value));
+}
+
+TNode& TNode::operator()(const TString& key, TNode&& value) &
{
- return std::move(operator()(key, value));
-}
-
-TNode& TNode::operator()(const TString& key, TNode&& value) &
-{
AssureMap();
std::get<TMapType>(Value_)[key] = std::move(value);
return *this;
}
-TNode TNode::operator()(const TString& key, TNode&& value) &&
-{
- return std::move(operator()(key, std::move(value)));
-}
-
+TNode TNode::operator()(const TString& key, TNode&& value) &&
+{
+ return std::move(operator()(key, std::move(value)));
+}
+
const TNode& TNode::operator[](const TStringBuf key) const
{
CheckType(Map);
diff --git a/library/cpp/yson/node/node.h b/library/cpp/yson/node/node.h
index c735fcd5e6..5f90f95df0 100644
--- a/library/cpp/yson/node/node.h
+++ b/library/cpp/yson/node/node.h
@@ -186,19 +186,19 @@ public:
const TNode& At(size_t index) const;
TNode& At(size_t index);
- TNode& Add() &;
- TNode Add() &&;
- TNode& Add(const TNode& node) &;
- TNode Add(const TNode& node) &&;
- TNode& Add(TNode&& node) &;
- TNode Add(TNode&& node) &&;
+ TNode& Add() &;
+ TNode Add() &&;
+ TNode& Add(const TNode& node) &;
+ TNode Add(const TNode& node) &&;
+ TNode& Add(TNode&& node) &;
+ TNode Add(TNode&& node) &&;
bool HasKey(const TStringBuf key) const;
- TNode& operator()(const TString& key, const TNode& value) &;
- TNode operator()(const TString& key, const TNode& value) &&;
- TNode& operator()(const TString& key, TNode&& value) &;
- TNode operator()(const TString& key, TNode&& value) &&;
+ TNode& operator()(const TString& key, const TNode& value) &;
+ TNode operator()(const TString& key, const TNode& value) &&;
+ TNode& operator()(const TString& key, TNode&& value) &;
+ TNode operator()(const TString& key, TNode&& value) &&;
const TNode& operator[](const TStringBuf key) const;
TNode& operator[](const TStringBuf key);
diff --git a/library/cpp/yson/node/node_ut.cpp b/library/cpp/yson/node/node_ut.cpp
index a046334457..448e99f575 100644
--- a/library/cpp/yson/node/node_ut.cpp
+++ b/library/cpp/yson/node/node_ut.cpp
@@ -129,19 +129,19 @@ Y_UNIT_TEST_SUITE(YtNodeTest) {
}
Y_UNIT_TEST(TestInsertingMethodsFromTemporaryObjects) {
- // check that .Add(...) doesn't return lvalue reference to temporary object
- {
- const TNode& nodeList = TNode().Add(0).Add("pass").Add(0);
- UNIT_ASSERT_EQUAL(nodeList[1], TNode("pass"));
- }
-
- // check that .operator()(...) doesn't return lvalue reference to temporary object
- {
- const TNode& nodeMap = TNode()("1", 0)("2", "pass")("3", 0);
- UNIT_ASSERT_EQUAL(nodeMap["2"], TNode("pass"));
- }
- }
-
+ // check that .Add(...) doesn't return lvalue reference to temporary object
+ {
+ const TNode& nodeList = TNode().Add(0).Add("pass").Add(0);
+ UNIT_ASSERT_EQUAL(nodeList[1], TNode("pass"));
+ }
+
+ // check that .operator()(...) doesn't return lvalue reference to temporary object
+ {
+ const TNode& nodeMap = TNode()("1", 0)("2", "pass")("3", 0);
+ UNIT_ASSERT_EQUAL(nodeMap["2"], TNode("pass"));
+ }
+ }
+
Y_UNIT_TEST(TestAttributes) {
TNode node = TNode()("lee", 42)("faa", 54);
UNIT_ASSERT(!node.HasAttributes());