12#include <boost/static_assert.hpp>
13#include <boost/type_traits.hpp>
15#include <boost/mpl/and.hpp>
44 boost::is_member_pointer<T>,
45 boost::mpl::not_< boost::is_member_function_pointer<T> >
58 boost::is_function<typename boost::remove_pointer<T>::type>
71 boost::is_reference<T>,
72 boost::is_pointer<typename boost::remove_reference<T>::type>,
74 typename boost::remove_pointer<
75 typename boost::remove_reference<T>::type >::type >
87 boost::is_reference<T>,
88 boost::mpl::not_<boost::is_const<
89 typename boost::remove_reference<T>::type>
Encapsulate solution for Exercise 4-4.
Returns true if T is a pointer, but not a member function pointer.
Returns true if T is a pointer to a (non-member) function type.
Returns true if T is a reference to a pointer to a (non-member) function!
Returns true if T is a reference type to a constant type.