Sequoia
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
sequoia::concurrency::task_queue< R, Task, Q > Class Template Reference

a task queue designed for use by multiple threads. More...

#include <ConcurrencyModels.hpp>

Public Types

using task_t = Task
 

Public Member Functions

 task_queue (const task_queue &)=delete
 
 task_queue (task_queue &&)=delete
 
task_queueoperator= (const task_queue &)=delete
 
task_queueoperator= (task_queue &&)=delete
 
void finish ()
 
void push (task_t &&task)
 
bool push (task_t &&task, std::try_to_lock_t t)
 
task_t pop (std::try_to_lock_t t)
 
task_t pop ()
 

Detailed Description

template<class R, class Task = std::packaged_task<R()>, class Q = std::queue<Task>>
class sequoia::concurrency::task_queue< R, Task, Q >

a task queue designed for use by multiple threads.

This class supports both aggressive pushing and popping and also speculative versions which do not necessarily acquire the underlying mutex and may therefore fail.


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