#pragma once #include class Thread; class WaitQueue { public: WaitQueue(); ~WaitQueue(); void enqueue(Thread&); void wake_one(); void wake_all(); private: SinglyLinkedList m_threads; };