libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::cliques Struct Reference

A modifier that enables dividing the thread_pool into a number of equal-sized cliques of pool_threads. More...

#include <thread_dsel_types.hpp>

Public Types

typedef std::size_t element_type
 

Public Member Functions

constexpr cliques (element_type c) noexcept(true) FORCE_INLINE
 

Public Attributes

const element_type number
 The number of cliques into which the thread_pool should be divided. More...
 

Detailed Description

A modifier that enables dividing the thread_pool into a number of equal-sized cliques of pool_threads.

It applies only to parallel algorithms (a compile-time error will result if it is used with an incompatible closure_base-derived closure type).

See also
cliques_t

Definition at line 36 of file thread_dsel_types.hpp.

Member Typedef Documentation

◆ element_type

Constructor & Destructor Documentation

◆ cliques()

constexpr jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::cliques::cliques ( element_type  c)
inlineexplicitconstexprnoexcept

Definition at line 45 of file thread_dsel_types.hpp.

References number.

Referenced by BOOST_AUTO_TEST_CASE_TEMPLATE().

Member Data Documentation

◆ number

const element_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::cliques::number

The number of cliques into which the thread_pool should be divided.

This is useful for limiting the number of tasks a parallel algorithm may automatically generate, so as to avoid swamping the thread_pool with tasks, and therefore causing excessive horizontal threading. (Horizontal threads are always dynamically generated, whereas vertical pool_threads may be precached in the thread_pool.

Definition at line 43 of file thread_dsel_types.hpp.

Referenced by cliques(), jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::joinable_t< TPB >::operator<<(), and jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::private_::nonjoinable_t< TPB >::operator<<().


The documentation for this struct was generated from the following file: