|
template<class TIterator , class TFunction , std::enable_if_t< std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits< TIterator >::iterator_category >, bool > = true> |
void | Kratos::block_for_each (TIterator itBegin, TIterator itEnd, TFunction &&rFunction) |
| Execute a functor on all items of a range in parallel. More...
|
|
template<class TReduction , class TIterator , class TFunction , std::enable_if_t< std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits< TIterator >::iterator_category >, bool > = true> |
TReduction::return_type | Kratos::block_for_each (TIterator itBegin, TIterator itEnd, TFunction &&rFunction) |
| Execute a functor on all items of a range in parallel, and perform a reduction. More...
|
|
template<class TIterator , class TTLS , class TFunction , std::enable_if_t< std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits< TIterator >::iterator_category >, bool > = true> |
void | Kratos::block_for_each (TIterator itBegin, TIterator itEnd, const TTLS &rTLS, TFunction &&rFunction) |
| Execute a functor with thread local storage on all items of a range in parallel. More...
|
|
template<class TReduction , class TIterator , class TTLS , class TFunction , std::enable_if_t< std::is_base_of_v< std::input_iterator_tag, typename std::iterator_traits< TIterator >::iterator_category >, bool > = true> |
TReduction::return_type | Kratos::block_for_each (TIterator itBegin, TIterator itEnd, const TTLS &tls, TFunction &&rFunction) |
| Execute a functor with thread local storage on all items of a range in parallel, and perform a reduction. More...
|
|
template<class TContainerType , class TFunctionType , std::enable_if_t<!std::is_same_v< std::iterator_traits< typename decltype(std::declval< std::remove_cv_t< TContainerType >>().begin())::value_type >, void >, bool > = true> |
void | Kratos::block_for_each (TContainerType &&v, TFunctionType &&func) |
| simplified version of the basic loop (without reduction) to enable template type deduction More...
|
|
template<class TReducer , class TContainerType , class TFunctionType , std::enable_if_t<!std::is_same_v< std::iterator_traits< typename decltype(std::declval< std::remove_cv_t< TContainerType >>().begin())::value_type >, void >, bool > = true> |
TReducer::return_type | Kratos::block_for_each (TContainerType &&v, TFunctionType &&func) |
| simplified version of the basic loop with reduction to enable template type deduction More...
|
|
template<class TContainerType , class TThreadLocalStorage , class TFunctionType , std::enable_if_t<!std::is_same_v< std::iterator_traits< typename decltype(std::declval< std::remove_cv_t< TContainerType >>().begin())::value_type >, void >, bool > = true> |
void | Kratos::block_for_each (TContainerType &&v, const TThreadLocalStorage &tls, TFunctionType &&func) |
| simplified version of the basic loop with thread local storage (TLS) to enable template type deduction More...
|
|
template<class TReducer , class TContainerType , class TThreadLocalStorage , class TFunctionType , std::enable_if_t<!std::is_same_v< std::iterator_traits< typename decltype(std::declval< std::remove_cv_t< TContainerType >>().begin())::value_type >, void >, bool > = true> |
TReducer::return_type | Kratos::block_for_each (TContainerType &&v, const TThreadLocalStorage &tls, TFunctionType &&func) |
| simplified version of the basic loop with reduction and thread local storage (TLS) to enable template type deduction More...
|
|