
On 08-11-2012 11:11, Olaf van der Spek wrote:
On Thu, Nov 8, 2012 at 9:35 AM, Gennadiy Rozental <rogeeff@gmail.com> 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