Returns a product type with consecutive duplicate types removed (pairwise uniqueness).
- Parameters
-
- Returns
- A product type containing elements of t with consecutive duplicates removed.
On record types, this function operates on the underlying values, not on the fields themselves.
Helper type
{
template<product_type T>
struct unique;
template<product_type T>
}
constexpr auto unique(T &&t)
Returns a product type with consecutive duplicate types removed (pairwise uniqueness).
Definition unique.hpp:93
Main KUMI namespace.
Definition algorithm.hpp:11
Computes the type returned by a call to kumi::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 a =
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