2 // Copyright 2018 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 #ifndef BOOST_GIL_USE_CONCEPT_CHECK
9 #error Compile with BOOST_GIL_USE_CONCEPT_CHECK defined
11 // FIXME: There are missing headers internally, leading to incomplete types
13 #include <boost/gil/image_view.hpp>
14 #include <boost/gil/planar_pixel_reference.hpp>
15 #include <boost/gil/typedefs.hpp>
17 #include <boost/gil.hpp>
20 namespace gil = boost::gil;
22 template <typename View>
25 boost::function_requires<gil::ImageViewConcept<View>>();
26 boost::function_requires<gil::CollectionImageViewConcept<View>>();
27 boost::function_requires<gil::ForwardCollectionImageViewConcept<View>>();
28 boost::function_requires<gil::ReversibleCollectionImageViewConcept<View>>();
31 template <typename View>
32 void test_view_planar()
34 boost::function_requires<gil::ImageViewConcept<View>>();
35 boost::function_requires<gil::CollectionImageViewConcept<View>>();
40 test_view<gil::gray8_view_t>();
41 test_view<gil::gray8c_view_t>();
43 test_view<gil::abgr8_view_t>();
44 test_view<gil::abgr8_step_view_t>();
45 test_view<gil::abgr8c_view_t>();
46 test_view<gil::abgr8c_step_view_t>();
48 test_view<gil::argb8_view_t>();
49 test_view<gil::argb8_step_view_t>();
50 test_view<gil::argb8c_view_t>();
51 test_view<gil::argb8c_step_view_t>();
53 test_view<gil::bgr8_view_t>();
54 test_view<gil::bgr8_step_view_t>();
55 test_view<gil::bgr8c_view_t>();
56 test_view<gil::bgr8c_step_view_t>();
58 test_view<gil::bgra8_view_t>();
59 test_view<gil::bgra8_step_view_t>();
60 test_view<gil::bgra8c_view_t>();
61 test_view<gil::bgra8c_step_view_t>();
63 test_view<gil::rgb8_view_t>();
64 test_view<gil::rgb8_step_view_t>();
65 test_view<gil::rgb8c_view_t>();
66 test_view<gil::rgb8c_step_view_t>();
67 test_view_planar<gil::rgb8_planar_view_t>();
68 test_view_planar<gil::rgb8_planar_step_view_t>();
69 test_view_planar<gil::rgb8c_planar_view_t>();
70 test_view_planar<gil::rgb8c_planar_step_view_t>();
72 test_view<gil::rgba8_view_t>();
73 test_view<gil::rgba8_step_view_t>();
74 test_view<gil::rgba8c_view_t>();
75 test_view<gil::rgba8c_step_view_t>();
76 test_view_planar<gil::rgba8_planar_view_t>();
77 test_view_planar<gil::rgba8_planar_step_view_t>();
78 test_view_planar<gil::rgba8c_planar_view_t>();
79 test_view_planar<gil::rgba8c_planar_step_view_t>();
81 test_view<gil::cmyk8_view_t>();
82 test_view<gil::cmyk8_step_view_t>();
83 test_view<gil::cmyk8c_view_t>();
84 test_view<gil::cmyk8c_step_view_t>();
86 test_view_planar<gil::cmyk8_planar_view_t>();
87 test_view_planar<gil::cmyk8_planar_step_view_t>();
88 test_view_planar<gil::cmyk8c_planar_view_t>();
89 test_view_planar<gil::cmyk8c_planar_step_view_t>();