#include <boost/gil/packed_pixel.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
- , bmp_tag
- >
- : mpl::bool_< detail::bmp_read_support< typename channel_type< Pixel >::type
- , typename color_space_type< Pixel >::type
- >::is_supported
- >
+template<typename Pixel>
+struct is_read_supported<Pixel, bmp_tag>
+ : std::integral_constant
+ <
+ bool,
+ detail::bmp_read_support
+ <
+ typename channel_type<Pixel>::type,
+ typename color_space_type<Pixel>::type
+ >::is_supported
+ >
{
using parent_t = detail::bmp_read_support
<
static const typename bmp_bits_per_pixel::type bpp = parent_t::bpp;
};
-template< typename Pixel >
-struct is_write_supported< Pixel
- , bmp_tag
- >
- : mpl::bool_< detail::bmp_write_support< typename channel_type< Pixel >::type
- , typename color_space_type< Pixel >::type
- >::is_supported
- > {};
+template<typename Pixel>
+struct is_write_supported<Pixel, bmp_tag>
+ : std::integral_constant
+ <
+ bool,
+ detail::bmp_write_support
+ <
+ typename channel_type<Pixel>::type,
+ typename color_space_type<Pixel>::type
+ >::is_supported
+ >
+{};
} // namespace gil
} // namespace boost