$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Anthony Williams (anthony.williamsNOSPAM_at_[hidden])
Date: 2002-11-18 04:49:25
Gennaro Prota writes:
> On 14 Nov 2002 12:40:38 +0000, Anthony Williams
> <anthony.williamsNOSPAM_at_[hidden]> wrote:
>
> >I have uploaded lexical_compare.hpp to the yahoo files area. It contains
> >implementations of the function template lexicalCompare.
>
> Just a little comment and a couple of questions. The former is
> actually just a matter of personal preference, so don't feel qualms
> about ignoring it (well, not that the same advice isn't valid for the
> questions too :-)
> BTW once you rewrite it as above you realize that you can
> further simplify it as:
>
> for (...) {
> if(*first1 < *first2)
> return -1;
>
> else if(*first2 < *first1)
> return +1;
> }
>
> if(first2 != last2) // (*)
> return -1;
>
> return first1 != last1;
I think it is clearer to explicitly return +1/0, rather than rely on the
conversion from true/false, but as you say, it is a matter of preference.
> The questions are: a) as you know the SGI STL has such a template for
> long time (lexicographical_compare_3way). Did you deliberately choose
> a different name? Why?
I wrote the function before I was aware of the SGI implementation.
> b) Did you really have problems without the
> casts?
They do no harm, and in the light of the recent discussions on the iterator
concept stress-test classes, I thought it better to put them in, given the
position I was arguing.
Anthony
-- Anthony Williams Senior Software Engineer, Beran Instruments Ltd. Remove NOSPAM when replying, for timely response.