MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
variadic_variabletp.hpp
Go to the documentation of this file.
1 
12 #ifndef BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_VARIABLETP_HPP
13 #define BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_VARIABLETP_HPP
14 
15 namespace boost { namespace mpl11 { namespace detail { namespace left_folds {
16  struct done;
17 
18  template <template <typename ...> class f, typename state,
19  typename x, typename ...xs>
20  constexpr auto variable_impl = variable_impl<f, f<state, x>, xs...>;
21 
22  template <template <typename ...> class f, typename state>
23  constexpr state variable_impl<f, state, done>{};
24 
30  template <template <typename ...> class f, typename state, typename ...xs>
31  using variadic_variabletp = decltype(variable_impl<f, state, xs..., done>);
32 }}}} // end namespace boost::mpl11::detail::left_folds
33 
34 #endif // !BOOST_MPL11_DETAIL_LEFT_FOLDS_VARIADIC_VARIABLETP_HPP