|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r80194 - trunk/boost/geometry/algorithms
From: bruno.lalande_at_[hidden]
Date: 2012-08-25 05:07:10
Author: bruno.lalande
Date: 2012-08-25 05:07:09 EDT (Sat, 25 Aug 2012)
New Revision: 80194
URL: http://svn.boost.org/trac/boost/changeset/80194
Log:
Made dispatch::union able to retrieve the tags by itself.
Text files modified:
trunk/boost/geometry/algorithms/union.hpp | 28 ++++++++++++----------------
1 files changed, 12 insertions(+), 16 deletions(-)
Modified: trunk/boost/geometry/algorithms/union.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/union.hpp (original)
+++ trunk/boost/geometry/algorithms/union.hpp 2012-08-25 05:07:09 EDT (Sat, 25 Aug 2012)
@@ -30,8 +30,6 @@
template
<
- // tag dispatching:
- typename TagIn1, typename TagIn2, typename TagOut,
// metafunction finetuning helpers:
bool Areal1, bool Areal2, bool ArealOut,
// real types
@@ -39,7 +37,10 @@
bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator,
typename GeometryOut,
- typename Strategy
+ typename Strategy,
+ typename TagIn1 = typename tag<Geometry1>::type,
+ typename TagIn2 = typename tag<Geometry2>::type,
+ typename TagOut = typename tag<GeometryOut>::type
>
struct union_insert
{
@@ -53,21 +54,21 @@
template
<
- typename TagIn1, typename TagIn2, typename TagOut,
typename Geometry1, typename Geometry2,
bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator,
typename GeometryOut,
- typename Strategy
+ typename Strategy,
+ typename TagIn1, typename TagIn2, typename TagOut
>
struct union_insert
<
- TagIn1, TagIn2, TagOut,
true, true, true,
Geometry1, Geometry2,
Reverse1, Reverse2, ReverseOut,
OutputIterator, GeometryOut,
- Strategy
+ Strategy,
+ TagIn1, TagIn2, TagOut
> : detail::overlay::overlay
<Geometry1, Geometry2, Reverse1, Reverse2, ReverseOut, OutputIterator, GeometryOut, overlay_union, Strategy>
{};
@@ -76,12 +77,14 @@
template
<
- typename GeometryTag1, typename GeometryTag2, typename GeometryTag3,
bool Areal1, bool Areal2, bool ArealOut,
typename Geometry1, typename Geometry2,
bool Reverse1, bool Reverse2, bool ReverseOut,
typename OutputIterator, typename GeometryOut,
- typename Strategy
+ typename Strategy,
+ typename TagIn1 = typename tag<Geometry1>::type,
+ typename TagIn2 = typename tag<Geometry2>::type,
+ typename TagOut = typename tag<GeometryOut>::type
>
struct union_insert_reversed
{
@@ -91,7 +94,6 @@
{
return union_insert
<
- GeometryTag2, GeometryTag1, GeometryTag3,
Areal2, Areal1, ArealOut,
Geometry2, Geometry1,
Reverse2, Reverse1, ReverseOut,
@@ -126,9 +128,6 @@
geometry::reverse_dispatch<Geometry1, Geometry2>::type::value,
dispatch::union_insert_reversed
<
- typename tag<Geometry1>::type,
- typename tag<Geometry2>::type,
- typename tag<GeometryOut>::type,
geometry::is_areal<Geometry1>::value,
geometry::is_areal<Geometry2>::value,
geometry::is_areal<GeometryOut>::value,
@@ -141,9 +140,6 @@
>,
dispatch::union_insert
<
- typename tag<Geometry1>::type,
- typename tag<Geometry2>::type,
- typename tag<GeometryOut>::type,
geometry::is_areal<Geometry1>::value,
geometry::is_areal<Geometry2>::value,
geometry::is_areal<GeometryOut>::value,
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