Boost logo

Boost :

From: Simonson, Lucanus J (lucanus.j.simonson_at_[hidden])
Date: 2008-05-08 02:47:58

Simonson, Lucanus J wrote:
>> template <typename geometry_type_1, typename geometry_type_2>
>> polygon_set_view operator&(const geometry_type_1& geo1,
>> const geometry_type_2& geo2) {
>> ...tag dispatching and so forth... }
Steven Watanabe wrote:
>I hope that this is not the actual declaration. Completely generic
>operator overloads
>are dangerous.

There is no declaration yet, since I haven't finalized the design.

I was thinking that it could be solved by registering the geometry types
for which operator overloading is safe as operator args in the

template <>
geometry_traits<UserPolygonSet> {
        typedef polygon_set_concept geometry_concept;
        typedef UserPolygonSet operator_arg;


template <typename geometry_type_1, typename geometry_type_2>
polygon_set_view operator&(
  typename geometry_traits<geometry_type_1>::operator_arg const& geo1,
  typename geometry_traits<geometry_type_2>::operator_arg const& geo2);

Would this proposed solution address your concern about safety?

Is there another way to make it safe that you would suggest instead?


Boost list run by bdawes at, gregod at, cpdaniel at, john at