// // 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 // kth_element_type #include // kth_element_type #include #include #include #include namespace gil = boost::gil; template void test_locator_from_iterator() { // The `memory_based_2d_locator` for X-step is calculated based on adapted iterator // Only verify `type` member is available (i.e. specialization defined). static_assert(std::is_class < typename gil::dynamic_x_step_type::type >::value, ""); static_assert(std::is_same < Locator, typename gil::dynamic_y_step_type::type >::value, "locator does not model HasDynamicYStepTypeConcept"); } int main() { test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); test_locator_from_iterator(); }