kumi v3.1.0
Exquisite Epidote
Loading...
Searching...
No Matches

◆ max() [2/2]

template<concepts::product_type T, typename F>
auto kumi::max ( T && t,
F f )
inlinenodiscardconstexprnoexcept

Computes the maximum value of applications of f to all elements of t.

Parameters
tTuple to inspect
fUnary Callable object
Returns
The maximum value of f over all elements of t

Helper type

namespace kumi
{
template<typename T, typename F> struct max;
template<typename T, typename F>
using max_t = typename max<T, F>::type;
}
constexpr auto max(T &&t) noexcept
Computes the maximum value all elements of t.
Definition minmax.hpp:35
Main KUMI namespace.
Definition algorithm.hpp:11

Computes the type returned by a call to kumi::max.

Examples:

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
auto f0 = kumi::tuple {1, 'A', 99.77f, 3. };
auto f1 = kumi::tuple {2., f0, 3.f };
std::cout << kumi::max(f0) << "\n";
std::cout << kumi::max(f1, [](auto m) { return sizeof(m); }) << "\n";
}
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:29
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
auto f0 = kumi::record {"a"_id = 1, "b"_id = 'A', "c"_id = 99.77f, "d"_id = 3. };
auto f1 = kumi::record {"a"_id = 2., "b"_id = f0, "c"_id = 3.f };
std::cout << kumi::max(f0) << "\n";
std::cout << kumi::max(f1, [](auto m) { return sizeof(m); }) << "\n";
}
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition record.hpp:29