Add support for mp_product<F>

This commit is contained in:
Peter Dimov committed 2020-06-03 15:08:49 +03:00
1 parent d709610087
commit 10ba80acb9
3 files changed
+25 -9

No files matched your search

+11 -2
View File
@@ -254,7 +254,9 @@ template<class L, class N> using mp_repeat = typename detail::mp_repeat_c_impl<L
namespace detail
{
template<template<class...> class F, class P, class... L> struct mp_product_impl_2;
template<template<class...> class F, class P, class... L> struct mp_product_impl_2
{
};
template<template<class...> class F, class P> struct mp_product_impl_2<F, P>
{
@@ -266,7 +268,14 @@ template<template<class...> class F, class P, template<class...> class L1, class
using type = mp_append<typename mp_product_impl_2<F, mp_push_back<P, T1>, L...>::type...>;
};
template<template<class...> class F, class... L> struct mp_product_impl;
template<template<class...> class F, class... L> struct mp_product_impl
{
};
template<template<class...> class F> struct mp_product_impl<F>
{
using type = mp_list< F<> >;
};
template<template<class...> class F, class L1, class... L> struct mp_product_impl<F, L1, L...>
{