Utopia  2
Framework for studying models of complex & adaptive systems.
Public Types | List of all members
Utopia::Utils::apply< Metafunc, Tuplelike > Struct Template Reference

Apply the metafunction 'Metafunc' to a tuplelike type 'Tuplelike'. More...

#include <metaprogramming.hh>

Public Types

using type = typename _Metaprogramming_helpers::apply_impl< Metafunc, std::decay_t< Tuplelike >, std::make_index_sequence< std::tuple_size_v< std::decay_t< Tuplelike > >> >::type
 

Detailed Description

template<template< typename... > class Metafunc, typename Tuplelike>
struct Utopia::Utils::apply< Metafunc, Tuplelike >

Apply the metafunction 'Metafunc' to a tuplelike type 'Tuplelike'.

Template Parameters
MetafuncA metafunction accepting as many template args as 'Tuplelike' is big.
TuplelikeA tuplelike object which can be exploded into a parameter pack with std::tuple_element

Member Typedef Documentation

◆ type

template<template< typename... > class Metafunc, typename Tuplelike >
using Utopia::Utils::apply< Metafunc, Tuplelike >::type = typename _Metaprogramming_helpers::apply_impl< Metafunc, std::decay_t<Tuplelike>, std::make_index_sequence<std::tuple_size_v<std::decay_t<Tuplelike> >> >::type

The documentation for this struct was generated from the following file: