12 #ifndef BOOST_MPL11_MONOID_HPP
13 #define BOOST_MPL11_MONOID_HPP
22 namespace boost {
namespace mpl11 {
23 template <
typename Left,
typename Right,
typename>
24 struct Monoid : false_ { };
26 template <
typename x1,
typename x2,
typename ...xn>
28 : detail::left_folds::variadic<plus, x1, x2, xn...>
31 template <
typename x,
typename y>
34 typename datatype<typename x::type>::type,
35 typename datatype<typename y::type>::type
36 >::template plus_impl<typename x::type, typename y::type>
39 template <
typename Datatype>
40 struct zero : Monoid<Datatype>::template zero_impl<> { };
43 #endif // !BOOST_MPL11_MONOID_HPP
Forward declares the Monoid typeclass.
Defines boost::mpl11::detail::left_folds::variadic.
Forwards to boost/mpl11/integer.hpp.