#include <boost/gil/color_base.hpp>
#include <boost/gil/io/base.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/is_same.hpp>
+#include <type_traits>
namespace boost { namespace gil { namespace detail {
} // namespace detail
-template< typename Pixel >
-struct is_read_supported< Pixel
- , pnm_tag
- >
- : mpl::bool_< detail::pnm_read_support< typename channel_type < Pixel >::type
- , typename color_space_type< Pixel >::type
- >::is_supported
- >
+template<typename Pixel>
+struct is_read_supported<Pixel, pnm_tag>
+ : std::integral_constant
+ <
+ bool,
+ detail::pnm_read_support
+ <
+ typename channel_type<Pixel>::type,
+ typename color_space_type<Pixel>::type
+ >::is_supported
+ >
{
using parent_t = detail::pnm_read_support
<
static const pnm_image_type::type _bin_type = parent_t::_bin_type;
};
-template< typename Pixel >
-struct is_write_supported< Pixel
- , pnm_tag
- >
- : mpl::bool_< detail::pnm_write_support< typename channel_type < Pixel >::type
- , typename color_space_type< Pixel >::type
- >::is_supported
- > {};
+template<typename Pixel>
+struct is_write_supported<Pixel, pnm_tag>
+ : std::integral_constant
+ <
+ bool,
+ detail::pnm_write_support
+ <
+ typename channel_type<Pixel>::type,
+ typename color_space_type<Pixel>::type
+ >::is_supported
+ >
+{};
} // namespace gil
} // namespace boost