$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Review:Algorithms] Order of args to clamp
From: Andrew Sutton (asutton.list_at_[hidden])
Date: 2011-09-24 16:53:15
> template< class T, class L, class U >
> typename common_type< T const &, L const &, U const & >::type
> clamp(T const & x, L const & lower, U const & upper)
> { return x < lower ? lower : upper < x ? upper : x; }
>
> for the use of common_type (assuming it accepts 3 parameters, which I seem
> to remember it did; if not, just nest); and something like
Can we please not define algorithms this way? It may be possible, but
that doesn't mean its a good idea. I don't know how you could possibly
prove that the algorithm preserves ordering (<) when the algorithm
includes 5 possibly different types.
Thats not strictly true. I do know how you can prove it preserves
ordering, but I'm not going to encourage the style.
Define it in terms of a single type and let conversions happen at the call type.