
Hi all, I'm still investigating compilation errors with my gil extension while compiling on MSVC10. I have exchanged boost::random_access_traversal_tag with std::random_access_iterator_tag with all gil iterator types. This solved some of my problems. Some still remain. Here is what I have discovered. When using a boost::gil::kth_channel_view_type with bit_aligned image types I'm running into the same problem I had with just using bit_aligned image types. Now kth_channel_view_type uses a boost::gil::dereference_iterator_adaptor for iteration purposes. This adaptor defines it's iterator category as boost::detail::iterator_category_with_traversal<std::input_iterator_tag,boost::random_access_traversal_tag> which is wrong. I have been trying to figure out where this definition is coming from. But I'm not able to. All occurrences of random_access_traversal_tag have been removed from gil code. Which leads me to believe it's coming from boost itself somewhere. Here is some code displaying the problem. #include <vector> #include <algorithm> #include <boost/gil/gil_all.hpp> using namespace std; using namespace boost; using namespace boost::gil; int main(int argc, char* argv[]) { typedef bit_aligned_image1_type< 1, gray_layout_t >::type image_t; typedef image_t::view_t view_t; typedef view_t::x_iterator view_it_t; typedef view_it_t::iterator_category view_cat_t; // it's std::random_access_iterator_tag view_cat_t view_cat; typedef kth_channel_view_type< 0, view_t >::type plane_t; typedef plane_t::x_iterator plane_it_t; typedef plane_it_t::iterator_category plane_cat_t; // it's boost::detail::iterator_category_with_traversal<std::input_iterator_tag,boost::random_access_traversal_tag> plane_cat_t plane_cat; return 0; } Regards, Christian