Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80199 - trunk/boost/geometry/algorithms
From: bruno.lalande_at_[hidden]
Date: 2012-08-25 08:50:31


Author: bruno.lalande
Date: 2012-08-25 08:50:30 EDT (Sat, 25 Aug 2012)
New Revision: 80199
URL: http://svn.boost.org/trac/boost/changeset/80199

Log:
Made dispatch::union enable to detect areals by itself.
Text files modified:
   trunk/boost/geometry/algorithms/union.hpp | 24 ++++++++++--------------
   1 files changed, 10 insertions(+), 14 deletions(-)

Modified: trunk/boost/geometry/algorithms/union.hpp
==============================================================================
--- trunk/boost/geometry/algorithms/union.hpp (original)
+++ trunk/boost/geometry/algorithms/union.hpp 2012-08-25 08:50:30 EDT (Sat, 25 Aug 2012)
@@ -30,8 +30,6 @@
 
 template
 <
- // metafunction finetuning helpers:
- bool Areal1, bool Areal2, bool ArealOut,
     // real types
     typename Geometry1, typename Geometry2,
     bool Reverse1, bool Reverse2, bool ReverseOut,
@@ -40,7 +38,10 @@
     typename Strategy,
     typename TagIn1 = typename tag<Geometry1>::type,
     typename TagIn2 = typename tag<Geometry2>::type,
- typename TagOut = typename tag<GeometryOut>::type
+ typename TagOut = typename tag<GeometryOut>::type,
+ bool Areal1 = geometry::is_areal<Geometry1>::value,
+ bool Areal2 = geometry::is_areal<Geometry2>::value,
+ bool ArealOut = geometry::is_areal<GeometryOut>::value
>
 struct union_insert
 {
@@ -63,12 +64,12 @@
>
 struct union_insert
     <
- true, true, true,
         Geometry1, Geometry2,
         Reverse1, Reverse2, ReverseOut,
         OutputIterator, GeometryOut,
         Strategy,
- TagIn1, TagIn2, TagOut
+ TagIn1, TagIn2, TagOut,
+ true, true, true
> : detail::overlay::overlay
         <Geometry1, Geometry2, Reverse1, Reverse2, ReverseOut, OutputIterator, GeometryOut, overlay_union, Strategy>
 {};
@@ -77,14 +78,16 @@
 
 template
 <
- bool Areal1, bool Areal2, bool ArealOut,
     typename Geometry1, typename Geometry2,
     bool Reverse1, bool Reverse2, bool ReverseOut,
     typename OutputIterator, typename GeometryOut,
     typename Strategy,
     typename TagIn1 = typename tag<Geometry1>::type,
     typename TagIn2 = typename tag<Geometry2>::type,
- typename TagOut = typename tag<GeometryOut>::type
+ typename TagOut = typename tag<GeometryOut>::type,
+ bool Areal1 = geometry::is_areal<Geometry1>::value,
+ bool Areal2 = geometry::is_areal<Geometry2>::value,
+ bool ArealOut = geometry::is_areal<GeometryOut>::value
>
 struct union_insert_reversed
 {
@@ -94,7 +97,6 @@
     {
         return union_insert
             <
- Areal2, Areal1, ArealOut,
                 Geometry2, Geometry1,
                 Reverse2, Reverse1, ReverseOut,
                 OutputIterator, GeometryOut,
@@ -128,9 +130,6 @@
             geometry::reverse_dispatch<Geometry1, Geometry2>::type::value,
             dispatch::union_insert_reversed
             <
- geometry::is_areal<Geometry1>::value,
- geometry::is_areal<Geometry2>::value,
- geometry::is_areal<GeometryOut>::value,
                 Geometry1, Geometry2,
                 overlay::do_reverse<geometry::point_order<Geometry1>::value>::value,
                 overlay::do_reverse<geometry::point_order<Geometry2>::value>::value,
@@ -140,9 +139,6 @@
>,
             dispatch::union_insert
             <
- geometry::is_areal<Geometry1>::value,
- geometry::is_areal<Geometry2>::value,
- geometry::is_areal<GeometryOut>::value,
                 Geometry1, Geometry2,
                 overlay::do_reverse<geometry::point_order<Geometry1>::value>::value,
                 overlay::do_reverse<geometry::point_order<Geometry2>::value>::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