
27 Sep
2011
27 Sep
'11
2:23 p.m.
On Sep 26, 2011, at 2:17 PM, TONGARI <tongari95@gmail.com> wrote:
2011/9/27 Peter Dimov <pdimov@pdimov.com>
Dave Abrahams wrote:
IMO it clearly should be:
template<typename Iter> void clamp_range( Iter first, Iter last, typename itertor_traits<Iter>::value_**type const& high, typename itertor_traits<Iter>::value_**type const& low)
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.)