diff --git a/include/boost/array.hpp b/include/boost/array.hpp index 63bbb58..2c51fcb 100644 --- a/include/boost/array.hpp +++ b/include/boost/array.hpp @@ -53,10 +53,10 @@ namespace boost { const_iterator end() const { return elems+N; } // reverse iterator support -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !(defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)) typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; -#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) || (defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER == 310)) // workaround for broken reverse_iterator in VC7 typedef std::reverse_iterator > reverse_iterator;