[geometry] updated buffer for clang compilation

[SVN r77210]
This commit is contained in:
Barend Gehrels
2012-03-04 12:02:03 +00:00
parent c5298a6abc
commit 39df5a1c4a
2 changed files with 16 additions and 6 deletions

View File

@@ -223,6 +223,11 @@ struct buffer_inserter<ring_tag, RingInput, RingOutput>
ring_tag
>
{
typedef detail::buffer::buffer_range
<
RingOutput,
ring_tag
> base;
template
<
@@ -233,7 +238,7 @@ struct buffer_inserter<ring_tag, RingInput, RingOutput>
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, Linestring, Polygon>
linestring_tag
>
{
typedef detail::buffer::buffer_range
<
typename ring_type<Polygon>::type,
linestring_tag
> base;
template<typename Collection, typename DistanceStrategy, typename JoinStrategy>
static inline void apply(Linestring const& linestring, Collection& collection,
@@ -259,11 +269,11 @@ struct buffer_inserter<linestring_tag, Linestring, Polygon>
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);

View File

@@ -10,8 +10,8 @@
#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_BUFFERED_PIECE_COLLECTION_HPP
#include <algorithm>
#include <cstddef>
#include <set>
#include <boost/range.hpp>
@@ -352,11 +352,11 @@ struct buffered_piece_collection
inline void add_segment(int index, point_type const& point, buffer_turn_operation<point_type> 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<clustered_location_type::iterator, bool> pair = clustered_turn_locations.insert(std::make_pair(point, a));
std::pair<typename clustered_location_type::iterator, bool> pair = clustered_turn_locations.insert(std::make_pair(point, a));
it = pair.first;
}