Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / gil / test / core / image_view / dynamic_step.cpp
1 //
2 // Copyright 2019 Mateusz Loskot <mateusz at loskot dot net>
3 //
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
7 //
8 #include <boost/gil/dynamic_step.hpp>
9 #include <boost/gil/image_view.hpp>
10 #include <boost/gil/typedefs.hpp>
11
12 namespace gil = boost::gil;
13
14 template <typename View>
15 void test()
16 {
17     static_assert(
18         gil::view_is_basic
19         <
20             typename gil::dynamic_x_step_type<View>::type
21         >::value, "view does not model HasDynamicXStepTypeConcept");
22
23     static_assert(
24         gil::view_is_basic
25         <
26             typename gil::dynamic_y_step_type<View>::type
27         >::value, "view does not model HasDynamicYStepTypeConcept");
28 }
29
30 int main()
31 {
32     test<gil::gray8_view_t>();
33     test<gil::gray8_step_view_t>();
34     test<gil::gray8c_view_t>();
35     test<gil::gray8c_step_view_t>();
36     test<gil::gray16_view_t>();
37     test<gil::gray16_step_view_t>();
38     test<gil::gray16c_view_t>();
39     test<gil::gray16c_step_view_t>();
40     test<gil::gray32_view_t>();
41     test<gil::gray32_step_view_t>();
42     test<gil::gray32c_view_t>();
43     test<gil::gray32c_step_view_t>();
44     test<gil::gray32f_view_t>();
45     test<gil::gray32f_step_view_t>();
46
47     test<gil::abgr8_view_t>();
48     test<gil::abgr8_step_view_t>();
49     test<gil::abgr16_view_t>();
50     test<gil::abgr16_step_view_t>();
51     test<gil::abgr32_view_t>();
52     test<gil::abgr32_step_view_t>();
53     test<gil::abgr32f_view_t>();
54     test<gil::abgr32f_step_view_t>();
55
56     test<gil::argb8_view_t>();
57     test<gil::argb8_step_view_t>();
58     test<gil::argb16_view_t>();
59     test<gil::argb16_step_view_t>();
60     test<gil::argb32_view_t>();
61     test<gil::argb32_step_view_t>();
62     test<gil::argb32f_view_t>();
63     test<gil::argb32f_step_view_t>();
64
65     test<gil::bgr8_view_t>();
66     test<gil::bgr8_step_view_t>();
67     test<gil::bgr16_view_t>();
68     test<gil::bgr16_step_view_t>();
69     test<gil::bgr32_view_t>();
70     test<gil::bgr32_step_view_t>();
71     test<gil::bgr32f_view_t>();
72     test<gil::bgr32f_step_view_t>();
73
74     test<gil::bgra8_view_t>();
75     test<gil::bgra8_step_view_t>();
76     test<gil::bgra16_view_t>();
77     test<gil::bgra16_step_view_t>();
78     test<gil::bgra32_view_t>();
79     test<gil::bgra32_step_view_t>();
80     test<gil::bgra32f_view_t>();
81     test<gil::bgra32f_step_view_t>();
82
83     test<gil::rgb8_view_t>();
84     test<gil::rgb8_step_view_t>();
85     test<gil::rgb8_planar_view_t>();
86     test<gil::rgb8_planar_step_view_t>();
87     test<gil::rgb16_view_t>();
88     test<gil::rgb16_step_view_t>();
89     test<gil::rgb16_planar_view_t>();
90     test<gil::rgb16_planar_step_view_t>();
91     test<gil::rgb32_view_t>();
92     test<gil::rgb32_step_view_t>();
93     test<gil::rgb32_planar_view_t>();
94     test<gil::rgb32_planar_step_view_t>();
95     test<gil::rgb32f_view_t>();
96     test<gil::rgb32f_step_view_t>();
97     test<gil::rgb32f_planar_view_t>();
98     test<gil::rgb32f_planar_step_view_t>();
99
100     test<gil::rgba8_view_t>();
101     test<gil::rgba8_step_view_t>();
102     test<gil::rgba8_planar_view_t>();
103     test<gil::rgba8_planar_step_view_t>();
104     test<gil::rgba16_view_t>();
105     test<gil::rgba16_step_view_t>();
106     test<gil::rgba16_planar_view_t>();
107     test<gil::rgba16_planar_step_view_t>();
108     test<gil::rgba32_view_t>();
109     test<gil::rgba32_step_view_t>();
110     test<gil::rgba32_planar_view_t>();
111     test<gil::rgba32_planar_step_view_t>();
112     test<gil::rgba32f_view_t>();
113     test<gil::rgba32f_step_view_t>();
114     test<gil::rgba32f_planar_view_t>();
115     test<gil::rgba32f_planar_step_view_t>();
116
117     test<gil::cmyk8_view_t>();
118     test<gil::cmyk8_step_view_t>();
119     test<gil::cmyk8_planar_view_t>();
120     test<gil::cmyk8_planar_step_view_t>();
121     test<gil::cmyk16_view_t>();
122     test<gil::cmyk16_step_view_t>();
123     test<gil::cmyk16_planar_view_t>();
124     test<gil::cmyk16_planar_step_view_t>();
125     test<gil::cmyk32_view_t>();
126     test<gil::cmyk32_step_view_t>();
127     test<gil::cmyk32_planar_view_t>();
128     test<gil::cmyk32_planar_step_view_t>();
129     test<gil::cmyk32f_view_t>();
130     test<gil::cmyk32f_step_view_t>();
131     test<gil::cmyk32f_planar_view_t>();
132     test<gil::cmyk32f_planar_step_view_t>();
133 }