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;
41 boost::mpl::equal< double_pointer_int, int** >::type::value));
47 boost::mpl::equal< four_pointer_int, 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-3.
BOOST_STATIC_ASSERT((boost::mpl::equal< double_pointer_int, int ** >::type::value))
twice< boost::add_pointer< _1 >, int >::type double_pointer_int
Used twice to add two pointers.
twice< boost::add_pointer< _1 >, double_pointer_int >::type four_pointer_int
Used twice twice to add four pointers.
Apply a metafunction to its own result.