BitMagic-C++
Data Structures | Namespaces | Typedefs | Functions
bmtask.h File Reference

Task definitions for parallel programming with BitMagic. More...

#include <atomic>
#include <functional>
#include <vector>
#include "bmbuffer.h"
Include dependency graph for bmtask.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bm::task_descr
 BitMagic task with a captured function. More...
 
class  bm::task_batch_base
 Interface definition (base class) for a group of tasks (batch) More...
 
class  bm::task_batch< BVAlloc >
 Basic implementation for collection of tasks for parallel execution. More...
 
struct  bm::is_lock_noexcept< T >
 "noexcept" traits detection for T::lock() More...
 
class  bm::lock_guard< Lock >
 Simple scoped lock guard. More...
 

Namespaces

namespace  bm
 

Typedefs

typedef void *(* bm::task_func_type) (void *)
 Typedef for a call-back function pointer (pthread conformant signature) More...
 
typedef std::function< int(void *)> bm::task_function_t
 Typedef for a call-back functional for lambda capture. More...
 

Functions

void bm::run_task_batch (task_batch_base &tasks)
 Run task batch sequentially. More...
 

Detailed Description

Task definitions for parallel programming with BitMagic.

The design intent is to make tasks reasonably compatible with different threading and execution models, possibly with different languages and non-C++ runtimes.

Definition in file bmtask.h.