template<template< typename... > typename Traits, typename Tuple, typename Seq = std::make_index_sequence<size_v<Tuple>>>
requires is_product_type_v<std::remove_cvref_t<Tuple>>
struct kumi::map_traits< Traits, Tuple, 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. |
| Tuple | The product type to transform. |
Helper type
{
template<template<typename...> typename Traits, typename Tuple>
}
Main KUMI namespace.
Definition algorithm.hpp:11
Applies a unary meta-function to each element of a product type.
Definition traits.hpp:626
Example
using ptr_tuple = kumi::map_traits_t<std::add_pointer, my_tuple>;
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33