9
3

view_is_step.cpp 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.hpp>
  9. namespace gil = boost::gil;
  10. template <typename View>
  11. void test_view_is_step_in_xy()
  12. {
  13. static_assert(gil::view_is_step_in_x<View>::value, "view should support horizontal step");
  14. static_assert(gil::view_is_step_in_y<View>::value, "view should support vertical step");
  15. }
  16. template <typename View>
  17. void test_view_is_step_in_y()
  18. {
  19. static_assert(gil::view_is_step_in_y<View>::value, "view should support vertical step");
  20. }
  21. template <typename View>
  22. void test_view_is_step_in_x_not()
  23. {
  24. static_assert(!gil::view_is_step_in_x<View>::value, "view should not support horizontal step");
  25. }
  26. int main()
  27. {
  28. test_view_is_step_in_xy<gil::gray8_step_view_t>();
  29. test_view_is_step_in_xy<gil::abgr8_step_view_t>();
  30. test_view_is_step_in_xy<gil::argb8_step_view_t>();
  31. test_view_is_step_in_xy<gil::bgr8_step_view_t>();
  32. test_view_is_step_in_xy<gil::bgra8_step_view_t>();
  33. test_view_is_step_in_xy<gil::rgb8_step_view_t>();
  34. test_view_is_step_in_xy<gil::rgba8_step_view_t>();
  35. test_view_is_step_in_xy<gil::rgba8_planar_step_view_t>();
  36. test_view_is_step_in_xy<gil::cmyk8_step_view_t>();
  37. test_view_is_step_in_xy<gil::cmyk8_planar_step_view_t>();
  38. test_view_is_step_in_y<gil::rgb8_view_t>();
  39. test_view_is_step_in_y<gil::rgb8_planar_view_t>();
  40. test_view_is_step_in_y<gil::rgba8_view_t>();
  41. test_view_is_step_in_y<gil::rgba8_planar_view_t>();
  42. test_view_is_step_in_y<gil::cmyk8_view_t>();
  43. test_view_is_step_in_y<gil::cmyk8_planar_view_t>();
  44. test_view_is_step_in_x_not<gil::rgb8_view_t>();
  45. test_view_is_step_in_x_not<gil::rgb8_planar_view_t>();
  46. test_view_is_step_in_x_not<gil::rgba8_view_t>();
  47. test_view_is_step_in_x_not<gil::rgba8_planar_view_t>();
  48. test_view_is_step_in_x_not<gil::cmyk8_view_t>();
  49. test_view_is_step_in_x_not<gil::cmyk8_planar_view_t>();
  50. }