$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [Review:Algorithms] Order of args to clamp
From: TONGARI (tongari95_at_[hidden])
Date: 2011-09-27 10:44:21
2011/9/27 Steven Watanabe <watanabesj_at_[hidden]>
> AMDG
>
> On 09/27/2011 07:23 AM, Gordon Woodhull wrote:
> >
> >
> > On Sep 26, 2011, at 2:17 PM, TONGARI <tongari95_at_[hidden]> wrote:
> >
> >> 2011/9/27 Peter Dimov <pdimov_at_[hidden]>
> >>
> >>> Then clamp should be
> >>>
> >>> template<class T> T clamp( T const & value,
> >>> typename identity<T>::type const & low,
> >>> typename identity<T>::type const & high );
> >>
> >>
> >> I second this. BTW, The return type could be T const&.
> >
> > Okay, I'll bite. Why identity and not just T?
> >
> > (I thought this might be a joke at first.)
> >
>
> Using identity means that T is deduced
> solely based on the first argument.
>
And thus has the benefit that low and high aren't necessary to be exactly T,
just some type that can be implicitly converted to T.