Made dispatch::within able to retrieve the tags by itself.

[SVN r76693]
This commit is contained in:
Bruno Lalande
2012-01-25 22:54:01 +00:00
parent 20eca8b2fa
commit 2700a5a1ba
2 changed files with 8 additions and 12 deletions

View File

@@ -165,11 +165,11 @@ namespace dispatch
template
<
typename Tag1,
typename Tag2,
typename Geometry1,
typename Geometry2,
typename Strategy
typename Strategy,
typename Tag1 = typename tag<Geometry1>::type,
typename Tag2 = typename tag<Geometry2>::type
>
struct within
{
@@ -182,7 +182,7 @@ struct within
template <typename Point, typename Box, typename Strategy>
struct within<point_tag, box_tag, Point, Box, Strategy>
struct within<Point, Box, Strategy, point_tag, box_tag>
{
static inline bool apply(Point const& point, Box const& box, Strategy const& strategy)
{
@@ -191,7 +191,7 @@ struct within<point_tag, box_tag, Point, Box, Strategy>
};
template <typename Box1, typename Box2, typename Strategy>
struct within<box_tag, box_tag, Box1, Box2, Strategy>
struct within<Box1, Box2, Strategy, box_tag, box_tag>
{
static inline bool apply(Box1 const& box1, Box2 const& box2, Strategy const& strategy)
{
@@ -203,7 +203,7 @@ struct within<box_tag, box_tag, Box1, Box2, Strategy>
template <typename Point, typename Ring, typename Strategy>
struct within<point_tag, ring_tag, Point, Ring, Strategy>
struct within<Point, Ring, Strategy, point_tag, ring_tag>
{
static inline bool apply(Point const& point, Ring const& ring, Strategy const& strategy)
{
@@ -219,7 +219,7 @@ struct within<point_tag, ring_tag, Point, Ring, Strategy>
};
template <typename Point, typename Polygon, typename Strategy>
struct within<point_tag, polygon_tag, Point, Polygon, Strategy>
struct within<Point, Polygon, Strategy, point_tag, polygon_tag>
{
static inline bool apply(Point const& point, Polygon const& polygon, Strategy const& strategy)
{
@@ -291,8 +291,6 @@ inline bool within(Geometry1 const& geometry1, Geometry2 const& geometry2)
return dispatch::within
<
typename tag<Geometry1>::type,
typename tag<Geometry2>::type,
Geometry1,
Geometry2,
strategy_type
@@ -344,8 +342,6 @@ inline bool within(Geometry1 const& geometry1, Geometry2 const& geometry2,
return dispatch::within
<
typename tag<Geometry1>::type,
typename tag<Geometry2>::type,
Geometry1,
Geometry2,
Strategy

View File

@@ -70,7 +70,7 @@ namespace dispatch
{
template <typename Point, typename MultiPolygon, typename Strategy>
struct within<point_tag, multi_polygon_tag, Point, MultiPolygon, Strategy>
struct within<Point, MultiPolygon, Strategy, point_tag, multi_polygon_tag>
{
static inline bool apply(Point const& point,
MultiPolygon const& multi_polygon, Strategy const& strategy)