Thanks, that is just what i was looking for. :)
Apparently that's the key point for detecting the implicit conversion constructor:
template< typename From >
struct does_conversion_exist
{
template< typename To > struct result_
{
static no_type BOOST_TT_DECL _m_check(...);
static yes_type BOOST_TT_DECL _m_check(To);
static >From _m_from;
enum { value = sizeof( _m_check(_m_from) ) == sizeof(yes_type) };
};
};
Can this be extended to constructors with more than one parameter?
As far as i can see, it applys only to conversion constructors.