From ea71042f79738bcdc08fe3bfa0a2f9cd1c0c03ac Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Thu, 9 Jul 2015 18:00:42 +0200 Subject: Change signature of put to take value --- include/tag_compound.h | 4 ++-- src/tag_compound.cpp | 6 +++--- test/nbttest.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/tag_compound.h b/include/tag_compound.h index 2b02ec5ba3..80be2f609e 100644 --- a/include/tag_compound.h +++ b/include/tag_compound.h @@ -70,7 +70,7 @@ public: * @return a pair of the iterator to the value and a bool indicating * whether the key did not exist */ - std::pair put(const std::string& key, std::unique_ptr&& t); + std::pair put(const std::string& key, value&& val); /** * @brief Constructs and assigns or inserts a tag into the compound @@ -116,7 +116,7 @@ private: template std::pair tag_compound::emplace(const std::string& key, Args&&... args) { - return put(key, std::unique_ptr(new T(std::forward(args)...))); + return put(key, value(T(std::forward(args)...))); } } diff --git a/src/tag_compound.cpp b/src/tag_compound.cpp index b0a36c30f4..4c6c03264e 100644 --- a/src/tag_compound.cpp +++ b/src/tag_compound.cpp @@ -43,17 +43,17 @@ value& tag_compound::operator[](const std::string& key) return tags[key]; } -std::pair tag_compound::put(const std::string& key, std::unique_ptr&& t) +std::pair tag_compound::put(const std::string& key, value&& val) { auto it = tags.find(key); if(it != tags.end()) { - it->second.set_ptr(std::move(t)); + it->second = std::move(val); return {it, false}; } else { - return tags.emplace(key, value(std::move(t))); + return tags.emplace(key, std::move(val)); } } diff --git a/test/nbttest.cpp b/test/nbttest.cpp index 5470b047ab..42f8bd25f4 100644 --- a/test/nbttest.cpp +++ b/test/nbttest.cpp @@ -142,8 +142,8 @@ void test_tag_compound() comp.clear(); ASSERT(comp == tag_compound{}); - ASSERT(comp.put("abc", std::unique_ptr(new tag_double(6.0))).second == true); - ASSERT(comp.put("abc", std::unique_ptr(new tag_long(-28))).second == false); + ASSERT(comp.put("abc", value(tag_double(6.0))).second == true); + ASSERT(comp.put("abc", value(tag_long(-28))).second == false); ASSERT(comp.emplace("def", "ghi").second == true); ASSERT(comp.emplace("def", 4).second == false); ASSERT((comp == tag_compound{{"abc", tag_long(-28)}, {"def", tag_byte(4)}})); -- cgit 0.0.5-2-1-g0f52