From cae3bab2fe5d08315ea8512dfcbb9f4981730a75 Mon Sep 17 00:00:00 2001 From: Samuel Debionne Date: Fri, 27 Feb 2015 17:03:03 +0100 Subject: [PATCH] [util][range] Fix back() *(--boost::end(rng)); is not valid for range with pointer as iterators. since the range is supposed to be BidirectionalRange, use rbegin instead. --- include/boost/geometry/util/range.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/geometry/util/range.hpp b/include/boost/geometry/util/range.hpp index 177fca92c..89d981619 100644 --- a/include/boost/geometry/util/range.hpp +++ b/include/boost/geometry/util/range.hpp @@ -138,7 +138,7 @@ back(BidirectionalRange const& rng) { BOOST_RANGE_CONCEPT_ASSERT(( boost::BidirectionalRangeConcept )); BOOST_ASSERT(!boost::empty(rng)); - return *(--boost::end(rng)); + return *(boost::rbegin(rng)); } /*! @@ -151,7 +151,7 @@ back(BidirectionalRange & rng) { BOOST_RANGE_CONCEPT_ASSERT(( boost::BidirectionalRangeConcept )); BOOST_ASSERT(!boost::empty(rng)); - return *(--boost::end(rng)); + return *(boost::rbegin(rng)); }