1 --- boost/multi_array/base.hpp
2 +++ boost/multi_array/base.hpp
4 // MSVC 2010 is broken in debug mode: it requires
5 // that an Output Iterator have output_iterator_tag in its iterator_category if
6 // that iterator is not bidirectional_iterator or random_access_iterator.
7 -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
8 +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
9 struct mutable_iterator_tag
10 : boost::random_access_traversal_tag, std::input_iterator_tag
16 -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
17 +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
18 // Deal with VC 2010 output_iterator_tag requirement
19 typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
20 mutable_iterator_tag> iterator;