Callable object Returning the index of a value which type satisfies a given predicate.
On record types, this function operates as if the elements are ordered. The considered order is the order of declaration.
#include <kumi/algorithm/find.hpp>
template<product_type T, typename Predicate>
constexpr auto find(T && t, Predicate p) noexcept;
- t: Product Type to process
- p: Unary predicate. p must return a value convertible to bool for every element of t.
- The integral index of the element inside t that matches the predicate, size_v<T> otherwise.
#include <kumi/kumi.hpp>
#include <iostream>
#include <type_traits>
int main()
{
std::cout << std::boolalpha
std::cout << std::boolalpha <<
kumi::locate( t, [](
auto e) {
return e > 3; } ) <<
"\n";
}
constexpr locate_t locate
Callable object Returning the index of a value which type satisfies a given predicate.
Definition find.hpp:80
constexpr auto predicate() noexcept
Convert a unary template meta-program in a running predicate.
Definition ct_helpers.hpp:148
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33
#include <kumi/kumi.hpp>
#include <iostream>
#include <type_traits>
int main()
{
using namespace kumi::literals;
auto r =
kumi::record{
"a"_id = 1,
"b"_id = 2.,
"c"_id = 0ULL,
"d"_id = 3.f,
"e"_id =
'z'};
std::cout << std::boolalpha
std::cout << std::boolalpha <<
kumi::locate( r, [](
auto e) {
return e > 3; } ) <<
"\n";
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36