Add mp_fold_q, mp_reverse_fold_q

This commit is contained in:
Peter Dimov
2017-10-14 20:26:38 +03:00
parent 321f5fdb24
commit e5b4200d24
5 changed files with 146 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ template<class L, class V, template<class...> class F> struct mp_fold_impl;
} // namespace detail
template<class L, class V, template<class...> class F> using mp_fold = typename detail::mp_fold_impl<L, V, F>::type;
template<class L, class V, class Q> using mp_fold_q = mp_fold<L, V, Q::template fn>;
// mp_transform<F, L...>
namespace detail
@@ -838,6 +839,7 @@ template<template<class...> class L, class T1, class T2, class T3, class T4, cla
} // namespace detail
template<class L, class V, template<class...> class F> using mp_reverse_fold = typename detail::mp_reverse_fold_impl<L, V, F>::type;
template<class L, class V, class Q> using mp_reverse_fold_q = mp_reverse_fold<L, V, Q::template fn>;
// mp_unique<L>
namespace detail