StuBS
|
List of threads waiting for an event. More...
#include <sync/waitingroom.h>
Public Member Functions | |
Waitingroom () | |
Constructor. | |
virtual | ~Waitingroom () |
Destructor. | |
virtual void | remove (Thread *customer) |
Remove a given thread prematurely from the Waitingroom. | |
Public Member Functions inherited from Queue< T, ContainerType > | |
Queue () | |
Default constructor; initialized the queue as empty. | |
void | enqueue (T *item) |
Enqueues the provided item at the end of the queue. | |
T * | dequeue () |
Removes the first element in the queue and returns it. | |
Iterator | begin () |
Iterator | end () |
T * | remove (T *item, bool(*cmp)(T *, T *)=[](T *a, T *b) {return a==b;}) |
Removes and returns a single element from the queue. | |
void | insertFirst (T *item) |
Adds item to the beginning of the queue. | |
void | insertAfter (T *old_item, T *new_item) |
Inserts the element new_item directly after old_item . | |
T * | first () |
Returns the first element in the queue without removing it. | |
T * | next (T *o) |
Returns the next element in the queue for a given element. | |
Private Member Functions | |
Waitingroom (const Waitingroom &)=delete | |
Waitingroom & | operator= (const Waitingroom &)=delete |
List of threads waiting for an event.
The class Waitingroom implements a list of threads that all wait for one particular event.
The destructor should be virtual to properly cleanup derived classes.
|
privatedelete |
|
inline |
Constructor.
Creates an empty Waitingroom
|
virtual |
|
privatedelete |
Remove a given thread prematurely from the Waitingroom.