14#include <boost/static_assert.hpp>
16#include <boost/type_traits/add_pointer.hpp>
18#include <boost/mpl/equal.hpp>
19#include <boost/mpl/placeholders.hpp>
20using namespace boost::mpl::placeholders;
40 boost::add_pointer<_1>,
45 boost::mpl::equal< double_twice, int**** >::type::value));
Define the twice metafunction for use in multiple exercises.
Provide utilities availble to all Chapter 3 solutions.
Encapsulate solution for Exercise 3-4.
BOOST_STATIC_ASSERT((boost::mpl::equal< double_twice, int **** >::type::value))
twice< boost::add_pointer< _1 >, twice< boost::add_pointer< _1 >, int >::type >::type double_twice
Call twice on itself to add four pointers to a type.
Apply a metafunction to its own result.