template<template< typename... > typename Traits, typename T, typename Seq = std::make_index_sequence<kumi::size_v<T>>>
requires kumi::is_product_type_v<std::remove_cvref_t<T>>
struct kumi::map_traits< Traits, T, Seq >
Applies a unary meta-function to each element of a product type.
map_traits transforms a product type by applying a given meta-function Traits to every element type individually. The result is a new product type containing the transformed types.
- Template Parameters
-
| Traits | Unary meta-function to apply to each element. |
| T | The product type to transform. |
Helper type
{
template<template<typename...> typename Traits, typename T>
}
Main KUMI namespace.
Definition algorithm.hpp:11
Applies a unary meta-function to each element of a product type.
Definition traits.hpp:743
Example
using ptr_tuple = kumi::map_traits_t<std::add_pointer, my_tuple>;
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33