libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
thread_pool.hpp File Reference
#include "parallel_algorithms.hpp"
#include "../../core/thread_pool_aspects.hpp"
#include <numeric>
Include dependency graph for thread_pool.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::void_chooser::type< Elem >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::void_chooser::type< void >
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >
 A specialisation for sequential "threading", i.e. everything runs on the main thread. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::priority< Pri >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::create_direct< InpWk, FnType >
 Used by the library to implicitly generate a closure from the InpWk type. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::execution_context_stack< InpWk >
 This is a useful typedef to get at the execution_context. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::void_work
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::execution_context_algo_stack< Res >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::algo_hack_t
 A modifier to allow joinably transferring the work to the pool. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::algo_hack_stack_t
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::count_if_t< Colln, Pred >
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::count_t< Colln >
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::find_if_t< Colln, Pred >
 A modifier to allow joinably transferring the work to the pool. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::find_t< Colln >
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_op_processor< Colln, BinOp >
 A modifier to allow joinably transferring the work to the pool. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::accumulate_processor< Colln, V >
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::max_element_t< Colln, Comp >
 A modifier to allow joinably transferring the work to the pool. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::min_element_t< Colln, Comp >
 A modifier to allow joinably transferring the work to the pool. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::merge_t< CollnIn1, CollnIn2, CollnOut, Compare >
 A modifier to allow joinably transferring the work to the pool. More...
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::sequential_pool< DM, Ps, P >::sort_t< Colln, Compare >
 A modifier to allow joinably transferring the work to the pool. More...
 

Namespaces

namespace  jmmcg
 Link with -lrt to include these functions.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd
 Parallel Pixie Dust or PPD is the name of the thread library within libjmmcg.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::void_chooser
 Hacking to avoid using the full execution_context and create a cheaper, more simple type for sequential use.