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 "-Wunused-local-typedefs" 25 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900) 26 #pragma GCC diagnostic push 27 #pragma GCC diagnostic ignored "-Wunused-local-typedefs" 30 namespace boost {
namespace gil {
55 template <
typename Image>
60 gil_function_requires<Regular<Image>>();
62 using view_t =
typename Image::view_t;
63 gil_function_requires<MutableRandomAccessNDImageViewConcept<view_t>>();
65 using const_view_t =
typename Image::const_view_t;
66 using pixel_t =
typename Image::value_type;
67 using point_t =
typename Image::point_t;
68 gil_function_requires<PointNDConcept<point_t>>();
71 ignore_unused_variable_warning(cv);
73 ignore_unused_variable_warning(v);
79 Image image3(pt, fill_value, 1);
81 image.recreate(pt, 1);
82 image.recreate(pt, fill_value, 1);
107 template <
typename Image>
112 gil_function_requires<RandomAccessNDImageConcept<Image>>();
113 using x_coord_t =
typename Image::x_coord_t;
114 using y_coord_t =
typename Image::y_coord_t;
115 using value_t =
typename Image::value_type;
117 gil_function_requires<MutableRandomAccess2DImageViewConcept<typename Image::view_t>>();
119 x_coord_t w=
image.width();
120 y_coord_t h=
image.height();
124 Image im3(w,h,fill_value,1);
126 image.recreate(w,h,1);
127 image.recreate(w,h,fill_value,1);
142 template <
typename Image>
147 gil_function_requires<RandomAccess2DImageConcept<Image>>();
148 gil_function_requires<MutableImageViewConcept<typename Image::view_t>>();
149 using coord_t =
typename Image::coord_t;
152 static_assert(std::is_same<coord_t, typename Image::x_coord_t>::value,
"");
153 static_assert(std::is_same<coord_t, typename Image::y_coord_t>::value,
"");
160 #if defined(BOOST_CLANG) 161 #pragma clang diagnostic pop 164 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900) 165 #pragma GCC diagnostic pop N-dimensional container of values.
Definition: concepts/image.hpp:56
2-dimensional image whose value type models PixelValueConcept
Definition: concepts/image.hpp:143
container interface over image view. Models ImageConcept, PixelBasedConcept
Definition: image.hpp:40
2-dimensional container of values
Definition: concepts/image.hpp:108
const image< Pixel, IsPlanar, Alloc >::view_t & view(image< Pixel, IsPlanar, Alloc > &img)
Returns the non-constant-pixel view of an image.
Definition: image.hpp:443
const image< Pixel, IsPlanar, Alloc >::const_view_t const_view(const image< Pixel, IsPlanar, Alloc > &img)
Returns the constant-pixel view of an image.
Definition: image.hpp:447
Returns the number of channels of a pixel-based GIL construct.
Definition: locator.hpp:38