StuBS
Waitingroom Class Reference

List of threads waiting for an event. More...

#include <sync/waitingroom.h>

Inheritance diagram for Waitingroom:
[legend]
Collaboration diagram for Waitingroom:
[legend]

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.
 
Tdequeue ()
 Removes the first element in the queue and returns it.
 
Iterator begin ()
 
Iterator end ()
 
Tremove (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.
 
Tfirst ()
 Returns the first element in the queue without removing it.
 
Tnext (T *o)
 Returns the next element in the queue for a given element.
 

Private Member Functions

 Waitingroom (const Waitingroom &)=delete
 
Waitingroomoperator= (const Waitingroom &)=delete
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ Waitingroom() [1/2]

Waitingroom::Waitingroom ( const Waitingroom )
privatedelete

◆ Waitingroom() [2/2]

Waitingroom::Waitingroom ( )
inline

Constructor.

Creates an empty Waitingroom

◆ ~Waitingroom()

Waitingroom::~Waitingroom ( )
virtual

Destructor.

The destructor removes and awakes all remaining threads.

Todo:
Implement Destructor

Member Function Documentation

◆ operator=()

Waitingroom & Waitingroom::operator= ( const Waitingroom )
privatedelete

◆ remove()

void Waitingroom::remove ( Thread customer)
virtual

Remove a given thread prematurely from the Waitingroom.

Todo:
Implement Method

The documentation for this class was generated from the following files: