$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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
geometry_traits.
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?
Thanks,
Luke