Unpacks a product type and applies its element types as arguments to a meta-function.
More...
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::apply_traits< Traits, Tuple, Seq >
Unpacks a product type and applies its element types as arguments to a meta-function.
apply_traits takes a template meta-function (a template template parameter) and a product type. It expands the types contained within the product type and passes them as a parameter pack to the provided Traits.
- Template Parameters
-
| Traits | Meta-function to be applied. |
| Tuple | The product type whose elements will be unpacked. |
Helper type
{
template<template<typename...> typename Traits, typename Tuple>
}
Main KUMI namespace.
Definition algorithm.hpp:11
Unpacks a product type and applies its element types as arguments to a meta-function.
Definition traits.hpp:579
Example
using common = kumi::apply_traits_t<std::common_type, my_tuple>;
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:33