Boost logo

Boost :

Subject: Re: [boost] Boost.Algorithm design question
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-10-06 14:45:43


on Thu Oct 06 2011, lcaminiti <lorcaminiti-AT-gmail.com> wrote:

> Dave Abrahams wrote:
>>
>> I don't think you can evaluate these choices just by looking at the
>> implementations. Before anyone else votes option 1, I'd like to see
>>
>
> Well, I'm not so sure I like option 1 anymore... if option 1 was an
> oversight in STL then there is no sense in perpetuating the specification
> error in Boost.Algorithm (perhaps Boost.Algorithm should then go with option
> 2 and explain the rationale of why it's different than what STL does for
> example with std::find).
>
>> somebody write the description of the algorithm, including the concept
>> requirements. With option 2, we know that == has to be an equivalence
>> relation. The semantics in option 1 are a lot fuzzier.
>>
>
> Good point! I'll try to start :)
>
> template< typename Iter, typename Val >
> requires
> InputIterator<Iter>,
> EqualityComparable&lt;iterator_traits&lt;Iter&gt;::value_type, Val>
> bool none_of_equal ( Iter first, Iter last, Val const& val ) ; // option 1a

What you failed to do here was to describe the semantic requirements on
EqualityComparable<A,B>, where A != B.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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