Developer documentation
Version 3.0.3-105-gd3941f44
MR::Thread Namespace Reference

Classes

class  __Backend
 
class  Queue
 A first-in first-out thread-safe item queue. More...
 

Enumerations

enum class  nthreads_t { nthreads_t::UNINITIALISED , nthreads_t::EXPLICIT , nthreads_t::IMPLICIT }
 

Functions

template<class Source , class Item1 , class Pipe , class Item2 , class Sink >
void run_ordered_queue (Source &&source, const Item1 &item1, Pipe &&pipe, const Item2 &item2, Sink &&sink, size_t capacity=128)
 
template<class Source , class Item1 , class Pipe1 , class Item2 , class Pipe2 , class Item3 , class Sink >
void run_ordered_queue (Source &&source, const Item1 &item1, Pipe1 &&pipe1, const Item2 &item2, Pipe2 &&pipe2, const Item3 &item3, Sink &&sink, size_t capacity=128)
 
size_t number_of_threads ()
 
nthreads_t type_nthreads ()
 
size_t threads_to_execute ()
 
template<class Functor >
__Multi< typename std::remove_reference< Functor >::type > multi (Functor &&functor, size_t nthreads=threads_to_execute())
 used to request multiple threads of the corresponding functor More...
 
template<class Functor >
__run< Functor >::type run (Functor &&functor, const std::string &name="unnamed")
 Execute the functor's execute method in a separate thread. More...
 
template<class Item >
__Batch< Item > batch (const Item &, size_t number=128)
 used to request batched processing of items More...
 
template<class Source , class Item , class Sink >
void run_queue (Source &&source, const Item &item, Sink &&sink, size_t capacity=128)
 convenience function to set up and run a 2-stage multi-threaded pipeline. More...
 
template<class Source , class Item1 , class Pipe , class Item2 , class Sink >
void run_queue (Source &&source, const Item1 &item1, Pipe &&pipe, const Item2 &item2, Sink &&sink, size_t capacity=128)
 convenience functions to set up and run a 3-stage multi-threaded pipeline. More...
 
template<class Source , class Item1 , class Pipe1 , class Item2 , class Pipe2 , class Item3 , class Sink >
void run_queue (Source &&source, const Item1 &item1, Pipe1 &&pipe1, const Item2 &item2, Pipe2 &&pipe2, const Item3 &item3, Sink &&sink, size_t capacity=128)
 convenience functions to set up and run a 4-stage multi-threaded pipeline. More...
 

Function Documentation

◆ run_ordered_queue() [1/2]

template<class Source , class Item1 , class Pipe , class Item2 , class Sink >
void MR::Thread::run_ordered_queue ( Source &&  source,
const Item1 &  item1,
Pipe &&  pipe,
const Item2 &  item2,
Sink &&  sink,
size_t  capacity = 128 
)
inline

Definition at line 356 of file ordered_thread_queue.h.

◆ run_ordered_queue() [2/2]

template<class Source , class Item1 , class Pipe1 , class Item2 , class Pipe2 , class Item3 , class Sink >
void MR::Thread::run_ordered_queue ( Source &&  source,
const Item1 &  item1,
Pipe1 &&  pipe1,
const Item2 &  item2,
Pipe2 &&  pipe2,
const Item3 &  item3,
Sink &&  sink,
size_t  capacity = 128 
)
inline

Definition at line 383 of file ordered_thread_queue.h.