Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85554 - in trunk: boost/geometry/algorithms/detail/overlay boost/geometry/multi/io/wkt libs/geometry/doc
From: barend.gehrels_at_[hidden]
Date: 2013-09-03 16:08:30


Author: barendgehrels
Date: 2013-09-03 16:08:30 EDT (Tue, 03 Sep 2013)
New Revision: 85554
URL: http://svn.boost.org/trac/boost/changeset/85554

Log:
[geometry] fixed clear/back calls for cases reported by Renaud on 2013-09-02 on mailing list

Text files modified:
   trunk/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp | 2 +-
   trunk/boost/geometry/multi/io/wkt/read.hpp | 6 +++---
   trunk/libs/geometry/doc/release_notes.qbk | 2 ++
   3 files changed, 6 insertions(+), 4 deletions(-)

Modified: trunk/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp Tue Sep 3 15:31:55 2013 (r85553)
+++ trunk/boost/geometry/algorithms/detail/overlay/backtrack_check_si.hpp 2013-09-03 16:08:30 EDT (Tue, 03 Sep 2013) (r85554)
@@ -101,7 +101,7 @@
 
         // Make bad output clean
         rings.resize(size_at_start);
- ring.clear();
+ geometry::traits::clear<typename boost::range_value<Rings>::type>::apply(ring);
 
         // Reject this as a starting point
         operation.visited.set_rejected();

Modified: trunk/boost/geometry/multi/io/wkt/read.hpp
==============================================================================
--- trunk/boost/geometry/multi/io/wkt/read.hpp Tue Sep 3 15:31:55 2013 (r85553)
+++ trunk/boost/geometry/multi/io/wkt/read.hpp 2013-09-03 16:08:30 EDT (Tue, 03 Sep 2013) (r85554)
@@ -49,7 +49,7 @@
                 Parser
                     <
                         typename boost::range_value<MultiGeometry>::type
- >::apply(it, tokens.end(), wkt, geometry.back());
+ >::apply(it, tokens.end(), wkt, *(boost::end(geometry) - 1));
                 if (it != tokens.end() && *it == ",")
                 {
                     // Skip "," after multi-element is parsed
@@ -101,14 +101,14 @@
                     point_parser
                         <
                             typename boost::range_value<MultiGeometry>::type
- >::apply(it, tokens.end(), wkt, geometry.back());
+ >::apply(it, tokens.end(), wkt, *(boost::end(geometry) - 1));
                 }
                 else
                 {
                     noparenthesis_point_parser
                         <
                             typename boost::range_value<MultiGeometry>::type
- >::apply(it, tokens.end(), wkt, geometry.back());
+ >::apply(it, tokens.end(), wkt, *(boost::end(geometry) - 1));
                 }
                     
                 if (it != tokens.end() && *it == ",")

Modified: trunk/libs/geometry/doc/release_notes.qbk
==============================================================================
--- trunk/libs/geometry/doc/release_notes.qbk Tue Sep 3 15:31:55 2013 (r85553)
+++ trunk/libs/geometry/doc/release_notes.qbk 2013-09-03 16:08:30 EDT (Tue, 03 Sep 2013) (r85554)
@@ -25,6 +25,8 @@
 
 [*Bugfixes]
 
+* In some cases .back() or .clear() was called, violating the usage of Concepts. Fixed for the reported cases
+
 [*Solved tickets]
 
 * [@https://svn.boost.org/trac/boost/ticket/6958 6958] Intersection generates self-intersection. Caused by spike, fixed


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