Computes the product of all elements.
On record types, this function operates on the underlying values, not on the fields themselves.
- Parameters
-
| t | Product type to operate on |
| init | Initial value of the product |
- Returns
- The value of get<0>(t) * ... * get<N-1>(t) * init
Helper type
namespace kumi::result
{
template<product_type T,
typename Value>
struct prod;
template<product_type T, typename Value>
}
constexpr auto prod(T &&t, Value init)
Computes the product of all elements.
Definition reduce.hpp:339
Computes the return type of a call to kumi::prod
Examples:
Tuple:
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
}
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33
Record:
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
auto r =
kumi::record{
"a"_id = 2.,
"b"_id = 5,
"c"_id =
short{3},
"d"_id =
'\4'};
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36