8 #ifndef BOOST_GIL_CONCEPTS_IMAGE_HPP
9 #define BOOST_GIL_CONCEPTS_IMAGE_HPP
11 #include <boost/gil/concepts/basic.hpp>
12 #include <boost/gil/concepts/concept_check.hpp>
13 #include <boost/gil/concepts/fwd.hpp>
14 #include <boost/gil/concepts/image_view.hpp>
15 #include <boost/gil/concepts/point.hpp>
16 #include <boost/gil/detail/mp11.hpp>
18 #include <type_traits>
20 #if defined(BOOST_CLANG)
21 #pragma clang diagnostic push
22 #pragma clang diagnostic ignored "-Wunknown-pragmas"
23 #pragma clang diagnostic ignored "-Wunused-local-typedefs"
26 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
27 #pragma GCC diagnostic push
28 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
31 namespace boost {
namespace gil {
56 template <
typename Image>
61 gil_function_requires<Regular<Image>>();
63 using view_t =
typename Image::view_t;
64 gil_function_requires<MutableRandomAccessNDImageViewConcept<view_t>>();
66 using const_view_t =
typename Image::const_view_t;
67 using pixel_t =
typename Image::value_type;
68 using point_t =
typename Image::point_t;
69 gil_function_requires<PointNDConcept<point_t>>();
72 ignore_unused_variable_warning(cv);
74 ignore_unused_variable_warning(v);
80 Image image3(pt, fill_value, 1);
82 image.recreate(pt, 1);
83 image.recreate(pt, fill_value, 1);
108 template <
typename Image>
113 gil_function_requires<RandomAccessNDImageConcept<Image>>();
114 using x_coord_t =
typename Image::x_coord_t;
115 using y_coord_t =
typename Image::y_coord_t;
116 using value_t =
typename Image::value_type;
118 gil_function_requires<MutableRandomAccess2DImageViewConcept<typename Image::view_t>>();
120 x_coord_t w=
image.width();
121 y_coord_t h=
image.height();
125 Image im3(w,h,fill_value,1);
127 image.recreate(w,h,1);
128 image.recreate(w,h,fill_value,1);
143 template <
typename Image>
148 gil_function_requires<RandomAccess2DImageConcept<Image>>();
149 gil_function_requires<MutableImageViewConcept<typename Image::view_t>>();
150 using coord_t =
typename Image::coord_t;
153 static_assert(std::is_same<coord_t, typename Image::x_coord_t>::value,
"");
154 static_assert(std::is_same<coord_t, typename Image::y_coord_t>::value,
"");
161 #if defined(BOOST_CLANG)
162 #pragma clang diagnostic pop
165 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
166 #pragma GCC diagnostic pop
container interface over image view. Models ImageConcept, PixelBasedConcept
Definition: image.hpp:43
auto const_view(const image< Pixel, IsPlanar, Alloc > &img) -> typename image< Pixel, IsPlanar, Alloc >::const_view_t const
Returns the constant-pixel view of an image.
Definition: image.hpp:573
auto view(image< Pixel, IsPlanar, Alloc > &img) -> typename image< Pixel, IsPlanar, Alloc >::view_t const &
Returns the non-constant-pixel view of an image.
Definition: image.hpp:565
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36
2-dimensional image whose value type models PixelValueConcept
Definition: concepts/image.hpp:145
2-dimensional container of values
Definition: concepts/image.hpp:110
N-dimensional container of values.
Definition: concepts/image.hpp:58
Returns the number of channels of a pixel-based GIL construct.
Definition: pixel.hpp:54