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

◆ min_flat()

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

Computes the minimum value of applications of f to all elements of kumi::flatten_all(t).

Parameters
tTuple to inspect
fUnary Callable object
Returns
The minimum value of f over all elements of a flattened version of t

Helper type

namespace kumi
{
template<typename T, typename F> struct min_flat;
template<typename T, typename F>
using min_flat_t = typename min_flat<T, F>::type;
}
constexpr auto min_flat(T &&t, F f) noexcept
Computes the minimum value of applications of f to all elements of kumi::flatten_all(t).
Definition minmax.hpp:227
Main KUMI namespace.
Definition algorithm.hpp:11

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

Examples:

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
auto f0 = kumi::tuple {2., kumi::tuple {1., 'u', 3. }, 3.f };
std::cout << kumi::min_flat (f0 , [](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 =2.,"b"_id =
kumi::record {"c"_id =1., "d"_id ='u', "e"_id =3. }, "f"_id =3.f };
std::cout << kumi::min_flat (f0 , [](auto m) { return sizeof(m); }) << "\n";
}
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition record.hpp:29