2 // Copyright 2019 Mateusz Loskot <mateusz at loskot dot net>
4 // Distributed under the Boost Software License, Version 1.0
5 // See accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt
8 #include <boost/gil/pixel.hpp>
9 #include <boost/gil/planar_pixel_iterator.hpp>
10 #include <boost/gil/typedefs.hpp>
12 #include <boost/mp11.hpp>
14 namespace gil = boost::gil;
15 using namespace boost::mp11;
19 using non_planar_pixels = mp_list
28 gil::gray16sc_pixel_t,
33 gil::gray32fc_pixel_t,
35 gil::gray32sc_pixel_t,
71 gil::abgr16sc_pixel_t,
75 gil::abgr32fc_pixel_t,
77 gil::abgr32sc_pixel_t,
85 gil::bgra16sc_pixel_t,
89 gil::bgra32fc_pixel_t,
91 gil::bgra32sc_pixel_t,
99 gil::cmyk16sc_pixel_t,
101 gil::cmyk32c_pixel_t,
102 gil::cmyk32f_pixel_t,
103 gil::cmyk32fc_pixel_t,
104 gil::cmyk32s_pixel_t,
105 gil::cmyk32sc_pixel_t,
109 gil::rgba8sc_pixel_t,
111 gil::rgba16c_pixel_t,
112 gil::rgba16s_pixel_t,
113 gil::rgba16sc_pixel_t,
115 gil::rgba32c_pixel_t,
116 gil::rgba32f_pixel_t,
117 gil::rgba32fc_pixel_t,
118 gil::rgba32s_pixel_t,
119 gil::rgba32sc_pixel_t
125 mp_all_of<non_planar_pixels, gil::is_planar>,
128 "is_planar yields true for non-planar pixel type");
133 mp_none_of<non_planar_pixels, gil::is_planar>,
136 "is_planar yields true for non-planar pixel type");