Return the product type containing the values of the first occurence of each type in t.
- Parameters
-
- Returns
- A product type built by keeping the first occurrence of every distinct element type in t.
On record types, this function operates on the underlying values, not on the fields themselves.
Helper type
{
template<product_type T>
}
constexpr auto all_unique(T &&t)
Return the product type containing the values of the first occurence of each type in t.
Definition unique.hpp:136
Main KUMI namespace.
Definition algorithm.hpp:11
Computes the type returned by a call to kumi::all_unique.
Examples:
Tuple:
#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
tuple a = {1, 2,
'x', 3, 1.f, 2.f};
}
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 = 1,
"b"_id = 2,
"c"_id =
'x',
"d"_id = 3,
"e"_id = 1.f,
"f"_id = 2.f};
}
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36