MarlinMT
0.1.0
|
WorkerBase class Base class to implement processing of task data (so called queued-element) pushed in a thread pool. More...
#include <Worker.h>
Public Types | |
using | Input = IN |
using | Output = OUT |
Public Member Functions | |
virtual | ~WorkerBase ()=default |
virtual OUT | process (IN &&data)=0 |
Process a single queued data taken form the thread pool. More... | |
Protected Member Functions | |
void | processElement (QueueElement< IN, OUT > &element) |
Process queued element from the thread pool. More... | |
Friends | |
class | Worker< IN, OUT > |
WorkerBase class Base class to implement processing of task data (so called queued-element) pushed in a thread pool.
The IN and OUT types must be movable. See also specialization for void IN and OUT types
using marlinmt::concurrency::WorkerBase< IN, OUT >::Input = IN |
using marlinmt::concurrency::WorkerBase< IN, OUT >::Output = OUT |
|
virtualdefault |
|
pure virtual |
Process a single queued data taken form the thread pool.
data | the data value to process |
Referenced by marlinmt::concurrency::WorkerBase< PEPScheduler::InputType, PEPScheduler::OutputType >::processElement(), marlinmt::concurrency::WorkerBase< void, OUT >::processElement(), marlinmt::concurrency::WorkerBase< IN, void >::processElement(), and marlinmt::concurrency::WorkerBase< void, void >::processElement().
|
inlineprotected |
|
friend |