kumi
v3.1.0
Exquisite Epidote
Loading...
Searching...
No Matches
◆
sum()
[2/2]
template<concepts::product_type T, typename Value>
auto kumi::sum
(
T &&
t
,
Value
init
)
inline
nodiscard
constexpr
Computes the sum of all elements.
Parameters
t
Product type to operate on
init
Optional initial value of the sum
Returns
The value of
get
<0>(t) + ... +
get
<N-1>(t) + init
Helper type
namespace
kumi::result
{
template
<product_type T,
typename
Value>
struct
sum
;
template
<product_type T,
typename
Value>
using
sum_t =
typename
sum<T,Value>::type
;
}
kumi::sum
constexpr auto sum(T &&t, Value init)
Computes the sum of all elements.
Definition
reduce.hpp:236
Computes the return type of a call to
kumi::sum
Examples:
#include <kumi/kumi.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"
;
}
kumi::tuple
Fixed-size collection of heterogeneous values.
Definition
tuple.hpp:29
#include <kumi/kumi.hpp>
#include <iostream>
int
main()
{
using namespace
kumi::literals;
auto
r =
kumi::record
{
"a"
_id = 2.,
"b"
_id = 1,
"c"
_id =
short
{55},
"d"
_id =
' '
};
std::cout <<
kumi::sum
(r, 100) <<
"\n"
;
std::cout <<
kumi::sum
(r) <<
"\n"
;
}
kumi::record
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition
record.hpp:29
kumi