TagBuilder: implement the assignment operator
This commit is contained in:
		| @@ -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. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann