Commit a5574f91 authored by Max Kellermann's avatar Max Kellermann

TagBuilder: implement the assignment operator

parent ba61a928
......@@ -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()
{
......
......@@ -63,11 +63,12 @@ public:
}
TagBuilder(const TagBuilder &other) = delete;
TagBuilder &operator=(const TagBuilder &other) = delete;
TagBuilder(const Tag &other);
TagBuilder(Tag &&other);
TagBuilder &operator=(const TagBuilder &other);
/**
* Returns true if the tag contains no items. This ignores the "time"
* attribute.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment