12#include <boost/static_assert.hpp>
14#include <boost/mpl/apply.hpp>
15#include <boost/mpl/if.hpp>
16#include <boost/mpl/greater.hpp>
17#include <boost/mpl/identity.hpp>
18#include <boost/mpl/minus.hpp>
19#include <boost/mpl/multiplies.hpp>
20#include <boost/mpl/not_equal_to.hpp>
21#include <boost/mpl/plus.hpp>
23#include <boost/mpl/placeholders.hpp>
24using namespace boost::mpl::placeholders;
71template <
typename N,
typename Predicate>
74 typename mpl::apply<Predicate, N>::type,
81template <
typename N1,
typename N2>
84 mpl::not_equal_to<N1,N2>,
92 mpl::multiplies< N1, mpl::int_<2> >
Exists to inject functionality into the Boost MPL namespace.
Encapsulate solution for Exercise 4-3.
Fix algorithm 1 in Exercise 4-3: