#include <numeric>
#include <rpa/common.h>
#include <rpa/synchro.h>
Namespaces | |
namespace | rpa |
Classes | |
struct | rpa::accumulate_args< RngIn, RetType, BinOp > |
For storing the arguments of 'accumulate'. More... | |
struct | rpa::accumulate_args< RngIn, RetType, void_functor > |
Specialisation when there is no functor. That is, when 'operator+' is used. More... | |
class | rpa::accumulate_loop_t< Args, Task, Thread > |
class | rpa::accumulate_vec< Args, range_size< ItIn >, BinOp, ThrIter > |
struct | rpa::coroutine_step< AccumulateVec, Ftor > |
Used only in the specialisation of accumulate_vec for range_step. More... | |
struct | rpa::coroutine_step< AccumulateVec, void_functor > |
If the original functor is in fact 'operator+'. More... | |
class | rpa::accumulate_vec< Args, range_step< ItIn, Mutex >, BinOp, ThrIter > |
struct | rpa::accumulate_vec< Args, range_step< ItIn, Mutex >, BinOp, ThrIter >::conditional_accumulate_args |
class | rpa::accumulate_vec< Args, range_jump< ItIn >, BinOp, ThrIter > |
This applies to interleave scheduling. More... | |
struct | rpa::accumulate_t< Range, Type, BinOp > |
Functions | |
template<class Range, class Type, class BinOp> | |
accumulate_t< Range, Type, BinOp > | rpa::accumulate (Range aRng, Type aInit, BinOp aFunc) |
'Helper' function for creating a 'accumulate_t' object. | |
template<class Range, class Type> | |
accumulate_t< Range, Type, void_functor > | rpa::accumulate (Range aRng, Type aInit) |
Specialisation if we wish to use the builtins '+' operator. |