Added (hopeful) Intel C++ fixes for broken std::reverse_iterator.

[SVN r15124]
This commit is contained in:
John Maddock
2002-09-01 10:43:04 +00:00
parent fe013c42b7
commit 6b9c6c9de3

View File

@ -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<iterator> reverse_iterator;
typedef std::reverse_iterator<const_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<std::_Ptrit<value_type, difference_type, iterator,
reference, iterator, reference> > reverse_iterator;