|
template<typename T , typename N , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Sum (N n, T const *v, T init_val=0) |
|
template<typename T , typename N , typename F , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Sum (N n, F const &f, T init_val=0) |
|
template<typename T , typename N , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Min (N n, T const *v, T init_val=std::numeric_limits< T >::max()) |
|
template<typename T , typename N , typename F , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Min (N n, F const &f, T init_val=std::numeric_limits< T >::max()) |
|
template<typename T , typename N , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Max (N n, T const *v, T init_val=std::numeric_limits< T >::lowest()) |
|
template<typename T , typename N , typename F , typename M = std::enable_if_t<std::is_integral<N>::value>> |
T | Max (N n, F const &f, T init_val=std::numeric_limits< T >::lowest()) |
|
template<typename T , typename N , typename M = std::enable_if_t<std::is_integral<N>::value>> |
std::pair< T, T > | MinMax (N n, T const *v) |
|
template<typename T , typename N , typename F , typename M = std::enable_if_t<std::is_integral<N>::value>> |
std::pair< T, T > | MinMax (N n, F const &f) |
|
template<typename T , typename N , typename P , typename M = std::enable_if_t<std::is_integral<N>::value>> |
bool | AnyOf (N n, T const *v, P const &pred) |
|
template<typename P > |
bool | AnyOf (Box const &box, P const &pred) |
|