GrPPI  0.3.1
Generic and Reusable Parallel Pattern Interface
Classes | Namespaces | Functions
parallel_execution_native.h File Reference
#include "worker_pool.h"
#include "../common/mpmc_queue.h"
#include "../common/iterator.h"
#include "../common/execution_traits.h"
#include <thread>
#include <atomic>
#include <algorithm>
#include <vector>
#include <type_traits>
#include <tuple>
#include <experimental/optional>
Include dependency graph for parallel_execution_native.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  grppi::thread_registry
 Thread index table to provide portable natural thread indices. More...
 
class  grppi::native_thread_manager
 RAII class to manage registration/deregistration pairs. This class allows to manage automatic deregistration of threads through the common RAII pattern. The current thread is registered into the registry at construction and deregistered a destruction. More...
 
class  grppi::parallel_execution_native
 Native parallel execution policy. This policy uses ISO C++ threads as implementation building block allowing usage in any ISO C++ compliant platform. More...
 

Namespaces

 grppi
 

Functions

template<typename E >
constexpr bool grppi::is_parallel_execution_native ()
 Metafunction that determines if type E is parallel_execution_native. More...
 
template<>
constexpr bool grppi::is_supported< parallel_execution_native > ()
 Determines if an execution policy is supported in the current compilation. More...
 
template<>
constexpr bool grppi::supports_map< parallel_execution_native > ()
 Determines if an execution policy supports the map pattern. More...
 
template<>
constexpr bool grppi::supports_reduce< parallel_execution_native > ()
 Determines if an execution policy supports the reduce pattern. More...
 
template<>
constexpr bool grppi::supports_map_reduce< parallel_execution_native > ()
 Determines if an execution policy supports the map-reduce pattern. More...
 
template<>
constexpr bool grppi::supports_stencil< parallel_execution_native > ()
 Determines if an execution policy supports the stencil pattern. More...
 
template<>
constexpr bool grppi::supports_divide_conquer< parallel_execution_native > ()
 Determines if an execution policy supports the divide/conquer pattern. More...
 
template<>
constexpr bool grppi::supports_pipeline< parallel_execution_native > ()
 Determines if an execution policy supports the pipeline pattern. More...