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 <
> 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]>
>>> 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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk