From 39df5a1c4aec733aa292a09fe5e4099e1eadf686 Mon Sep 17 00:00:00 2001 From: Barend Gehrels Date: Sun, 4 Mar 2012 12:02:03 +0000 Subject: [PATCH] [geometry] updated buffer for clang compilation [SVN r77210] --- .../algorithms/buffer/buffer_inserter.hpp | 16 +++++++++++++--- .../buffer/buffered_piece_collection.hpp | 6 +++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/include/boost/geometry/extensions/algorithms/buffer/buffer_inserter.hpp b/include/boost/geometry/extensions/algorithms/buffer/buffer_inserter.hpp index 455067581..cb08c7a15 100644 --- a/include/boost/geometry/extensions/algorithms/buffer/buffer_inserter.hpp +++ b/include/boost/geometry/extensions/algorithms/buffer/buffer_inserter.hpp @@ -223,6 +223,11 @@ struct buffer_inserter ring_tag > { + typedef detail::buffer::buffer_range + < + RingOutput, + ring_tag + > base; template < @@ -233,7 +238,7 @@ struct buffer_inserter DistanceStrategy const& distance, JoinStrategy const& join_strategy) { - iterate(collection, boost::begin(ring), boost::end(ring), + base::iterate(collection, boost::begin(ring), boost::end(ring), buffer_side_left, distance, join_strategy); } @@ -252,6 +257,11 @@ struct buffer_inserter linestring_tag > { + typedef detail::buffer::buffer_range + < + typename ring_type::type, + linestring_tag + > base; template static inline void apply(Linestring const& linestring, Collection& collection, @@ -259,11 +269,11 @@ struct buffer_inserter JoinStrategy const& join_strategy) { collection.start_new_ring(); - iterate(collection, boost::begin(linestring), boost::end(linestring), + base::iterate(collection, boost::begin(linestring), boost::end(linestring), buffer_side_left, distance, join_strategy); - iterate(collection, boost::rbegin(linestring), boost::rend(linestring), + base::iterate(collection, boost::rbegin(linestring), boost::rend(linestring), buffer_side_right, distance, join_strategy, true); diff --git a/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp b/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp index 284e70910..90eb01c39 100644 --- a/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp +++ b/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp @@ -10,8 +10,8 @@ #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_BUFFERED_PIECE_COLLECTION_HPP +#include #include - #include #include @@ -352,11 +352,11 @@ struct buffered_piece_collection inline void add_segment(int index, point_type const& point, buffer_turn_operation const& operation) { - clustered_location_type::iterator it = clustered_turn_locations.find(point); + typename clustered_location_type::iterator it = clustered_turn_locations.find(point); if (it == boost::end(clustered_turn_locations)) { buffer_cluster_info a; - std::pair pair = clustered_turn_locations.insert(std::make_pair(point, a)); + std::pair pair = clustered_turn_locations.insert(std::make_pair(point, a)); it = pair.first; }