[util] Add move-assignment operators to node_map, deque

Also add them to wait_queue as a wrapper to calling deque's
move-assignmen operator.
This commit is contained in:
Justin C. Miller
2023-02-26 11:27:30 -08:00
parent 1d7d5e8015
commit 0c777bc62f
4 changed files with 37 additions and 2 deletions

View File

@@ -12,6 +12,11 @@ namespace obj {
class wait_queue
{
public:
wait_queue() = default;
wait_queue(wait_queue &&other);
wait_queue & operator=(wait_queue &&other);
/// Wake all threads when destructing
~wait_queue();
@@ -28,6 +33,9 @@ public:
/// \arg value The value passed to thread::wake
void clear(uint64_t value = 0);
/// Check if the queue is empty
bool empty() const { return m_threads.empty(); }
private:
/// Get rid of any exited threads that are next
/// in the queue. Caller must hold the queue lock.