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.