Loading [MathJax]/extensions/tex2jax.js
kumi v3.1.0
Exquisite Epidote
 
All Classes Namespaces Functions Variables Friends Modules Pages Concepts
Loading...
Searching...
No Matches

◆ sum() [1/2]

template<product_type Tuple>
constexpr auto kumi::sum ( Tuple &&  t)
constexpr

Computes the sum of all elements.

Parameters
tTuple to operate on.
Returns
The value of get<0>(t) + ... + get<N-1>(t)

Helper type

namespace kumi::result
{
template<product_type Tuple> struct sum;
template<product_type Tuple>
using sum_t = typename sum_t<Tuple>::type;
}
constexpr auto sum(Tuple &&t, Value init)
Computes the sum of all elements.
Definition reduce.hpp:37

Computes the return type of a call to kumi::sum

Example

#include <kumi/tuple.hpp>
#include <iostream>
int main()
{
auto t = kumi::tuple{2.,1,short{55},' '};
std::cout << kumi::sum(t, 100) << "\n";
std::cout << kumi::sum(t) << "\n";
}
constexpr auto from_tuple(tuple< Ts... > const &t)
Converts a kumi::tuple to an instance of an arbitrary type.
Definition convert.hpp:59
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:35