|
Boost : |
Subject: [boost] [Review:Algorithms] is_ordered behaviour for singleton input, and name
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2011-09-23 12:33:01
Dear All,
The docs for the proposed is_ordered say:
The function is_ordered(sequence, predicate) returns the point
in the sequence where the predicate does not hold. It does that
by comparing adjacent pairs of elements in the sequence to see if
the predicate is satisfied. If all adjacent pairs satisfy the
predicate, then it will return one past the last element of the
sequence.
OK.
If the sequence has less than two elements, it returns
the last element of the sequence. In other words, sequences of
length zero and one are considered to be ordered - using any
possible criteria.
Shouldn't that say "it returns one past the last element"?
Also, regarding the name: I would expect any "is_something" function to
return a boolean. Since this returns an iterator I would have called
it something like find_disorder. (There is a good chance that an
iterator is convertible to bool, so one could mistakenly write "if
(is_ordered(begin,end)) { ... }".)
Regards, Phil.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk