Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61038 - trunk/boost/range
From: neil_at_[hidden]
Date: 2010-04-04 07:38:15


Author: neilgroves
Date: 2010-04-04 07:38:14 EDT (Sun, 04 Apr 2010)
New Revision: 61038
URL: http://svn.boost.org/trac/boost/changeset/61038

Log:
Boost.Range a recent fix to a trac ticket causes a compilation error on Sun compilers. This commit causes the old code to be used for the operator[] of iterator_range on Sun compilers.
Text files modified:
   trunk/boost/range/iterator_range_core.hpp | 10 ++++++++++
   1 files changed, 10 insertions(+), 0 deletions(-)

Modified: trunk/boost/range/iterator_range_core.hpp
==============================================================================
--- trunk/boost/range/iterator_range_core.hpp (original)
+++ trunk/boost/range/iterator_range_core.hpp 2010-04-04 07:38:14 EDT (Sun, 04 Apr 2010)
@@ -22,6 +22,7 @@
 #include <boost/iterator/iterator_traits.hpp>
 #include <boost/iterator/iterator_facade.hpp>
 #include <boost/type_traits/is_abstract.hpp>
+#include <boost/type_traits/is_pointer.hpp>
 #include <boost/range/functions.hpp>
 #include <boost/range/iterator.hpp>
 #include <boost/range/difference_type.hpp>
@@ -289,6 +290,14 @@
                return *--last;
            }
 
+
+#ifdef __SUNPRO_CC
+ reference operator[]( difference_type at ) const
+ {
+ BOOST_ASSERT( at >= 0 && at < size() );
+ return m_Begin[at];
+ }
+#else
            BOOST_DEDUCED_TYPENAME boost::detail::operator_brackets_result<iterator, value_type, reference>::type
            operator[]( difference_type at ) const
            {
@@ -297,6 +306,7 @@
                typedef boost::detail::use_operator_brackets_proxy<value_type,reference> use_proxy;
                return boost::detail::make_operator_brackets_result<iterator>(m_Begin + at, use_proxy());
            }
+#endif
 
            //
            // When storing transform iterators, operator[]()


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk