Compare commits

..

8 Commits

2 changed files with 12 additions and 6 deletions

View File

@ -10,8 +10,8 @@ void test_static_size (const T& cont)
for (unsigned i=0; i<T::static_size; ++i) { for (unsigned i=0; i<T::static_size; ++i) {
tmp[i] = int(cont[i]); tmp[i] = int(cont[i]);
} }
for (unsigned i=0; i<T::static_size; ++i) { for (unsigned j=0; j<T::static_size; ++j) {
std::cout << tmp[i] << ' '; std::cout << tmp[j] << ' ';
} }
std::cout << std::endl; std::cout << std::endl;
} }

View File

@ -11,6 +11,7 @@
* This software is provided "as is" without express or implied * This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose. * warranty, and with no claim as to its suitability for any purpose.
* *
* 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries.
* 05 Aug 2001 - minor update (Nico Josuttis) * 05 Aug 2001 - minor update (Nico Josuttis)
* 20 Jan 2001 - STLport fix (Beman Dawes) * 20 Jan 2001 - STLport fix (Beman Dawes)
* 29 Sep 2000 - Initial Revision (Nico Josuttis) * 29 Sep 2000 - Initial Revision (Nico Josuttis)
@ -20,7 +21,9 @@
#include <cstddef> #include <cstddef>
#include <stdexcept> #include <stdexcept>
#include <iterator>
// Handles broken standard libraries better than <iterator>
#include <boost/detail/iterator.hpp>
#include <algorithm> #include <algorithm>
// FIXES for broken compilers // FIXES for broken compilers
@ -50,15 +53,15 @@ namespace boost {
const_iterator end() const { return elems+N; } const_iterator end() const { return elems+N; }
// reverse iterator support // 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(BOOST_NO_STD_ITERATOR_TRAITS)
typedef std::reverse_iterator<iterator> reverse_iterator; typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_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))) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
// workaround for broken reverse_iterator in VC7 // workaround for broken reverse_iterator in VC7
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator, typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, iterator,
reference, iterator, reference> > reverse_iterator; reference, iterator, reference> > reverse_iterator;
typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator, typedef std::reverse_iterator<std::_Ptrit<value_type, difference_type, const_iterator,
const_reference, iterator, reference> > const_reverse_iterator; const_reference, iterator, reference> > const_reverse_iterator;
#else #else
// workaround for broken reverse_iterator implementations // workaround for broken reverse_iterator implementations
typedef std::reverse_iterator<iterator,T> reverse_iterator; typedef std::reverse_iterator<iterator,T> reverse_iterator;
@ -161,3 +164,6 @@ namespace boost {
#endif /*BOOST_ARRAY_HPP*/ #endif /*BOOST_ARRAY_HPP*/