$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Review:Algorithms] is_ordered name
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2011-09-23 20:08:49
Marshall Clow <mclow.lists_at_[hidden]> wrote:
> On Sep 23, 2011, at 9:33 AM, Phil Endecott wrote:
>> 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)) { ... }".)
>
> "disorder" doesn't sit quite right with me for some reason.
>
> How about "ordered_until", maybe?
>
> or "find_unordered"
Well, I have a find_ordered that does a binary search on a sorted range 
like std::up|lower_bound and std::equal_range do.  I have always felt 
that std::find should be called std::find_unordered, or at least 
something in the name should indicate which of those std::algorithms 
require an ordered range and which don't.  Anyway, find_unordered 
sounds to me like a variant of std::find, which is not what this 
algorithm is.  I think any find_ADJECTIVE would sound like that to me; 
this case needs a find_NOUN.
I spent a few moments trying to think of a noun that means "point at 
which ordering stops".  There probably is one that's better than 
"disorder".  It's not quite a "discontinuity", but maybe there is 
something like that from  maths.  I also wondered about a more general 
word like "failure", since any predicate can be passed.  
"find_ordering_failure" maybe?  Or even just "find_unordering" or 
"find_unorder".  Any thoughts?
Regards,  Phil.