
Howard Hinnant <hinnant <at> twcny.rr.com> writes:
The tr1::is_convertible, which was born from boost::is_convertible, considers its "from" to be an lvalue when detecting convertibility. The C++0X std::is_convertible considers its "from" to be an rvalue when detecting convertibility. If one wants to restrict is_convertible to only consider lvalue froms, one simply specifies an lvalue reference: is_convertible<F&, T>::value (from is now considered as an lvalue).
There is motivation for this change here:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2255.html
(search for "is_convertible").
Very interesting! But now the question is, how do we resolve this (and other issues like it that will surely come up) for Boost? -- Dave Abrahams Boostpro Computing http://www.boostpro.com