From a5574f9189f67e673463cde3d4aa629e638cf298 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 3 Dec 2013 12:08:54 +0100 Subject: TagBuilder: implement the assignment operator --- src/tag/TagBuilder.cxx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/tag/TagBuilder.cxx') diff --git a/src/tag/TagBuilder.cxx b/src/tag/TagBuilder.cxx index 6ba8c12db..b114e882b 100644 --- a/src/tag/TagBuilder.cxx +++ b/src/tag/TagBuilder.cxx @@ -54,6 +54,23 @@ TagBuilder::TagBuilder(Tag &&other) other.items = nullptr; } +TagBuilder & +TagBuilder::operator=(const TagBuilder &other) +{ + /* copy all attributes */ + time = other.time; + has_playlist = other.has_playlist; + items = other.items; + + /* increment the tag pool refcounters */ + tag_pool_lock.lock(); + for (auto i : items) + tag_pool_dup_item(i); + tag_pool_lock.unlock(); + + return *this; +} + void TagBuilder::Clear() { -- cgit v1.2.3