Boost logo

Boost :

Subject: Re: [boost] [range] iterator_range operators are too greedy
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-11-08 07:48:07


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.


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