Boost logo

Boost :

Subject: Re: [boost] [Review:Algorithms]
From: dariomt (dariomt_at_[hidden])
Date: 2011-09-28 05:02:46

Marshall Clow <mclow.lists <at>> writes:
> >
> > I thought I had suggested any_equal, all_equal, etc. in a previous
> > email. Maybe I forgot to send it :)
> Ok - I've changed the names, and pushed the changes to github.
> If people are more comfortable downloading zip files, I can make another one
of those.

I'd like to suggest the following

template<typename R, typename V>
bool all_equal_to ( const R &range, const V &val );

returns true iff each item in the sequence compares *equal to* the value val

template<typename R>
bool all_equal (const R &range);

returns true iff each item in the sequence compares *equal* to each other (since
the comparison is transitive this can be implemented comparing each element in
the sequence to the first one).

sequences of size 0 and 1 return true, larger sequences can be implemented as
all_equal_to ( range, *begin(range) );

I have my own version of all_equal and I find it quite useful.

What do you think?

Boost list run by bdawes at, gregod at, cpdaniel at, john at