// // Copyright 2019 Mateusz Loskot // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // #include #include #include #include namespace gil = boost::gil; namespace mp11 = boost::mp11; int main() { using bgr121_ref_t = gil::bit_aligned_pixel_reference < std::uint8_t, mp11::mp_list_c, gil::bgr_layout_t, true >; static_assert(bgr121_ref_t::bit_size == 4, "bit size should be 4"); static_assert(std::is_same::value, "bit field type should be std::uint8_t"); static_assert(std::is_same::value, "layout type should be bgr"); static_assert(std::is_same::value && bgr121_ref_t::is_mutable, "is_mutable should be boolean"); using packed_pixel_t = gil::packed_pixel < std::uint8_t, typename gil::detail::packed_channel_references_vector_type < std::uint8_t, mp11::mp_list_c >::type, gil::bgr_layout_t >; static_assert(std::is_same::value, "value_type should be specialization of packed_pixel"); }