|
Boost : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-01-23 21:24:04
Howard Hinnant wrote:
>On Jan 23, 2004, at 7:21 PM, Jonathan Turkanis wrote:
>>Also, I'm a little nervous about relying on is_convertible, because of
>>problems like:
>>
>> is_convertible<noncopyable,noncopyable>
>
><nod> has me worried too. This is a bigger problem than just move_ptr. It
>is effecting other projects too. I'm not sure of the answer.
I'm not sure of how is_convertable is implemented, but can't noncopyable be
added as a special case, like generating a compile-time error when used as a
parameter to it, e.g.
error: cannot instantiate disallowed_conversion< noncopyable >
from is_convertable< noncopyable, T >::type
or something similar.
This should be a case of adding some MPL code to detect is_same<
noncopyable, T >. The only problem I forsee would be in compile time, or am
I missing something?
e.g. (pseudocode style):
is_convertable_ex< T1, T2 >::type =
if_
<
or_< is_same< T1, noncopyable >, is_same< T2, noncopyable > >,
disallowed_conversion< noncopyable >,
is_convertable< T1, T2 >
>::type
Regards,
Reece
_________________________________________________________________
Find a cheaper internet access deal - choose one to suit you.
http://www.msn.co.uk/internetaccess
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk