channel_view.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // Copyright 2013 Christian Henning
  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. #include <boost/gil/extension/toolbox/metafunctions/channel_view.hpp>
  10. #include <boost/test/unit_test.hpp>
  11. #include <type_traits>
  12. namespace bg = boost::gil;
  13. BOOST_AUTO_TEST_SUITE(toolbox_tests)
  14. BOOST_AUTO_TEST_CASE(channel_view_test)
  15. {
  16. using image_t = bg::rgb8_image_t;
  17. image_t img(100, 100);
  18. using kth_channel_view_t
  19. = bg::kth_channel_view_type<0, bg::rgb8_view_t::const_t>::type;
  20. using channel_view_t
  21. = bg::channel_view_type<bg::red_t, bg::rgb8_view_t::const_t>::type;
  22. static_assert(std::is_same
  23. <
  24. kth_channel_view_t,
  25. channel_view_t
  26. >::value,
  27. "");
  28. kth_channel_view_t const kth0 = bg::kth_channel_view<0>(bg::const_view(img));
  29. BOOST_TEST(kth0.num_channels() == 1u);
  30. channel_view_t const red = bg::channel_view<bg::red_t>(bg::const_view(img));
  31. BOOST_TEST(red.num_channels() == 1u);
  32. }
  33. BOOST_AUTO_TEST_SUITE_END()