CAPD RedHom Library
|
#include <capd/homAux/RangeAlgorithms.h>
Public Types | |
typedef boost::mpl::if_c< CAPD_HAVE_TBB, RangeAlgorithms< TbbComputationalModel >, RangeAlgorithms< StdComputationalModel > >::type | TbbModel |
typedef RangeAlgorithms< StdComputationalModel > | StdModel |
typedef boost::mpl::if_c< CAPD_HAVE_TBB, TbbModel, StdModel >::type | AutomaticModel |
typedef boost::variant< AutomaticModel, StdModel, TbbModel > | Models |
Public Member Functions | |
RangeAlgorithms (int model=DefaultModel()) | |
template<typename Rng , typename Cmp = std::less<typename Rng::value_type>> | |
void | sort (Rng &rng, Cmp cmp=Cmp()) |
template<typename Func , typename Rng > | |
void | forEach (Rng &rng, Func func=Func()) |
template<typename Func , typename T1 , typename T2 > | |
void | forLoop (T1 begin, T2 end, Func func=Func()) |
template<typename Rng , typename OutRng > | |
void | partialSum (const Rng &rng, OutRng &out) |
template<class Rng > | |
boost::range_iterator< Rng >::type | maxElement (const Rng &rng) |
template<typename Rng , typename Value , typename Op = std::plus<Value>> | |
Value | accumulate (const Rng &rng, Value init, Op op=Op()) |
Static Public Member Functions | |
static int | DefaultModel () |
typedef boost::mpl::if_c<CAPD_HAVE_TBB, TbbModel, StdModel>::type capd::homAux::RangeAlgorithms< ManualComputationalModel >::AutomaticModel |
typedef boost::variant<AutomaticModel, StdModel, TbbModel> capd::homAux::RangeAlgorithms< ManualComputationalModel >::Models |
typedef RangeAlgorithms<StdComputationalModel> capd::homAux::RangeAlgorithms< ManualComputationalModel >::StdModel |
typedef boost::mpl::if_c<CAPD_HAVE_TBB, RangeAlgorithms<TbbComputationalModel>, RangeAlgorithms<StdComputationalModel> >::type capd::homAux::RangeAlgorithms< ManualComputationalModel >::TbbModel |
|
inline |
|
inline |
|
static |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |