Re: [Boost-bugs] [Boost C++ Libraries] #2457: Compatible Sorting Criteria definition

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #2457: Compatible Sorting Criteria definition
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-13 08:28:35

#2457: Compatible Sorting Criteria definition
  Reporter: dave | Owner: joaquin
      Type: Bugs | Status: new
 Milestone: Boost 1.37.0 | Component: multi_index
   Version: Boost 1.36.0 | Severity: Optimization
Resolution: | Keywords:

Comment (by joaquin):

 I think a reformulation in terms of partitioning leads to simpler wording
 but provides the user with less insight on what's going on. For instance,
 when defining

 template<typename CompatibleKey,typename CompatibleCompare>
 iterator lower_bound(const CompatibleKey& x,const CompatibleCompare&

 if docs merely state that the index has to be partitioned with respect to
 comp(·,x), I don't think the user has a clue from this explanation of how
 (`CompatibleKey`,`CompatibleCompare`) is related to (Key,Compare) (the
 relation being basically that `CompatibleCompare` is a rougher version of
 Compare, i.e. one inducing the same order except for equivalent elements,
 where equivalence classes `CompatibleCompare` are supersets of those of

 Besides, partitioning jargon is not always //that// simple. Consider for
 instance the standard docs for binary_search:

 //The elements `e` of `[first,last)` are partitioned with respect to the
 expressions `e < value`
 and `!(value < e)` or `comp(e, value)` and `!comp(value, e)`. Also, for
 all elements `e` of `[first, last)`, `e < value` implies `!(value < e)` or
 `comp(e, value)` implies `!comp(value, e)`.//

 So, I'm keeping the original formulation.

Ticket URL: <>
Boost C++ Libraries <>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:08 UTC