|
template<std::size_t I, typename T > |
using | amrex::TypeAt = typename detail::TypeListGet< I, T >::type |
| Type at position I of a TypeList. More...
|
|
template<template< class... > class TParam, class... Types> |
using | amrex::TypeMultiplier = TypeAt< 0, decltype(detail::TApply< TParam >((TypeList<>{}+...+detail::SingleTypeMultiplier(Types{}))))> |
| Return the first template argument with the later arguments applied to it. Types of the form T[N] are expanded to T, T, T, T, ... (N times with N >= 1). More...
|
|
|
template<typename TL , typename F , std::size_t... N> |
constexpr void | amrex::detail::for_each_impl (F const &f, std::index_sequence< N... >) |
|
template<typename TL , typename F , std::size_t... N> |
constexpr bool | amrex::detail::for_each_until_impl (F const &f, std::index_sequence< N... >) |
|
template<typename... Ts, typename F > |
constexpr void | amrex::ForEach (TypeList< Ts... >, F &&f) |
| For each type t in TypeList, call f(t) More...
|
|
template<typename... Ts, typename F > |
constexpr bool | amrex::ForEachUntil (TypeList< Ts... >, F &&f) |
| For each type t in TypeList, call f(t) until true is returned. More...
|
|
template<typename... As, typename... Bs> |
constexpr auto | amrex::operator+ (TypeList< As... >, TypeList< Bs... >) |
| Concatenate two TypeLists. More...
|
|
template<typename... Ls, typename A > |
constexpr auto | amrex::single_product (TypeList< Ls... >, A) |
|
template<typename LLs , typename... As> |
constexpr auto | amrex::operator* (LLs, TypeList< As... >) |
|
template<typename... Ls> |
constexpr auto | amrex::CartesianProduct (Ls...) |
| Cartesian Product of TypeLists. More...
|
|
template<class T , std::size_t N> |
constexpr auto | amrex::detail::SingleTypeMultiplier_impl () |
|
template<class T , std::size_t N> |
constexpr auto | amrex::detail::SingleTypeMultiplier (const T(&)[N]) |
|
template<class T > |
constexpr auto | amrex::detail::SingleTypeMultiplier (T) |
|
template<template< class... > class TParam, class... Args> |
constexpr auto | amrex::detail::TApply (TypeList< Args... >) |
|