Boost logo

Boost :

Subject: Re: [boost] [range] iterator_range operators are too greedy
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2012-11-08 07:12:06


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:
>> Hi,
>>
>> iterator_range operators are defined like this:
>>
>> template< class IteratorT, class ForwardRange >
>> inline bool operator==( const ForwardRange& l,
>> const iterator_range<IteratorT>& r )
>> {
>> return boost::equal( l, r );
>> }
>>
>> These needs to be restricted with enable_if on type of first argument.
>> I have a scenario where I want to define operator== for my own type
>> and want to be able to use it with iterator_range as second argument.
>> Above definition makes it impossible.
>
> 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?

-Thorsten


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