Boost logo

Boost :

Subject: Re: [boost] [range] iterator_range operators are too greedy
From: Jeffrey Lee Hellrung, Jr. (jeffrey.hellrung_at_[hidden])
Date: 2012-11-08 08:53:28


On Thu, Nov 8, 2012 at 4:48 AM, Mathias Gaunard <
mathias.gaunard_at_[hidden]> wrote:

> On 08/11/12 13:12, Thorsten Ottosen wrote:
>
>> On 08-11-2012 11:11, Olaf van der Spek wrote:
>>
>>> On Thu, Nov 8, 2012 at 9:35 AM, Gennadiy Rozental <rogeeff_at_[hidden]>
>>> wrote:
>>> Is this related to https://svn.boost.org/trac/**boost/ticket/6715>
>>> ?
>>> Sadly not a single response from the Range maintainers.
>>>
>>>
>>
>> It seems to be related.
>>
>> What would the enable_if expression look like?
>>
>
> Replacing all overalods of operator== by something like
>
> template<class A0, class A1>
> typename enable_if<
> mpl::or_< is_base_of<iterator_range_**base, A0>,
> is_base_of<iterator_range_**base, A1> >
> , bool
> >::type operator==(A0 const& a0, A1 const& a1)
> {
> return boost::equal(a0, a1);
> }
>
> should allow to fix the bug above.
>

Though an improvement, that's still not very constrained and I doubt it
will address Gennadiy's issue.

- Jeff


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk