Utopia  2
Framework for studying models of complex & adaptive systems.
Public Types | List of all members
Utopia::_Metaprogramming_helpers::apply_impl< Metafunc, Tuplelike, std::index_sequence< idxs... > > Struct Template Reference

Metafunction which applies an arbitrary metafunction to a tuplelike object - backend implementation. More...

#include <metaprogramming.hh>

Public Types

using type = typename Metafunc< typename std::tuple_element_t< idxs, Tuplelike >... >::type
 

Detailed Description

template<template< typename... > class Metafunc, typename Tuplelike, std::size_t... idxs>
struct Utopia::_Metaprogramming_helpers::apply_impl< Metafunc, Tuplelike, std::index_sequence< idxs... > >

Metafunction which applies an arbitrary metafunction to a tuplelike object - backend implementation.

Template Parameters
MetafuncMetafunc to apply to Tuplelike type. Has to provide a member alias 'type'.
TuplelikeTuplelike type treatable with std::tuple_element
idxsindices used to get the elements of tuplelike

Member Typedef Documentation

◆ type

template<template< typename... > class Metafunc, typename Tuplelike , std::size_t... idxs>
using Utopia::_Metaprogramming_helpers::apply_impl< Metafunc, Tuplelike, std::index_sequence< idxs... > >::type = typename Metafunc< typename std::tuple_element_t<idxs, Tuplelike>...>::type

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