12 #ifndef BOOST_MPL11_MONAD_HPP
13 #define BOOST_MPL11_MONAD_HPP
23 namespace boost {
namespace mpl11 {
24 template <
typename monad>
26 Monad<typename datatype<typename monad::type>::type>::
27 template join_impl<monad>
30 template <
typename MonadType,
typename x>
32 : Monad<MonadType>::template unit_impl<x>
36 struct instantiate<Monad> {
37 template <
typename Datatype>
39 #ifndef BOOST_MPL11_NO_ASSERTIONS
40 static_assert(Functor<Datatype>::value,
"Monad requires Functor");
46 #endif // !BOOST_MPL11_MONAD_HPP
Manages configurable options of the library and defines utility macros.
Forward declares the Monad typeclass.
Forwards to boost/mpl11/integer.hpp.
Forward declares the Functor typeclass.