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).
typedef std::function< int(void *)> | bm::task_function_t
| Typedef for a call-back functional for lambda capture.

## Functions

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

## 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.