TwiceAsNice  2019-02-18
Public Member Functions | Private Attributes | List of all members
Nice::TaskContainer Class Reference

A TaskContainer is a collection of controls for delayed and undelayed tasks. More...

#include <TaskContainer.h>

Collaboration diagram for Nice::TaskContainer:
Collaboration graph

Public Member Functions

virtual ~TaskContainer ()
 
void put (Nice::UndelayedTaskControlPtr t)
 
UndelayedTaskControlPtr takeOneUndelayedTaskControl ()
 
void put (Nice::DelayedTaskControlPtr t)
 
Nice::DelayedTaskControlPtr takeOneDelayedTaskControl ()
 
size_t size () const
 
size_t getNumberOfUndelayedTasks () const
 
size_t getNumberOfDelayedTasks () const
 
void waitUntilTaskIsAvailable ()
 
Nice::MonitorgetTaskAdditionMonitorRef ()
 

Private Attributes

std::vector< Nice::UndelayedTaskControlPtrundelayedTaskControls_
 
std::vector< Nice::DelayedTaskControlPtrdelayedTaskControls_
 
Nice::Monitor taskAdditionMonitor_
 

Detailed Description

A TaskContainer is a collection of controls for delayed and undelayed tasks.

It is for internal use only!

Note
thread-safe

Constructor & Destructor Documentation

◆ ~TaskContainer()

virtual Nice::TaskContainer::~TaskContainer ( )
inlinevirtual

Member Function Documentation

◆ getNumberOfDelayedTasks()

size_t Nice::TaskContainer::getNumberOfDelayedTasks ( ) const

◆ getNumberOfUndelayedTasks()

size_t Nice::TaskContainer::getNumberOfUndelayedTasks ( ) const

◆ getTaskAdditionMonitorRef()

Nice::Monitor & Nice::TaskContainer::getTaskAdditionMonitorRef ( )

◆ put() [1/2]

void Nice::TaskContainer::put ( Nice::UndelayedTaskControlPtr  t)

◆ put() [2/2]

void Nice::TaskContainer::put ( Nice::DelayedTaskControlPtr  t)

◆ size()

size_t Nice::TaskContainer::size ( void  ) const

◆ takeOneDelayedTaskControl()

Nice::DelayedTaskControlPtr Nice::TaskContainer::takeOneDelayedTaskControl ( )

◆ takeOneUndelayedTaskControl()

Nice::UndelayedTaskControlPtr Nice::TaskContainer::takeOneUndelayedTaskControl ( )

◆ waitUntilTaskIsAvailable()

void Nice::TaskContainer::waitUntilTaskIsAvailable ( )

Member Data Documentation

◆ delayedTaskControls_

std::vector<Nice::DelayedTaskControlPtr> Nice::TaskContainer::delayedTaskControls_
private

◆ taskAdditionMonitor_

Nice::Monitor Nice::TaskContainer::taskAdditionMonitor_
private

◆ undelayedTaskControls_

std::vector<Nice::UndelayedTaskControlPtr> Nice::TaskContainer::undelayedTaskControls_
private

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