title: check if type can be explicitly converted
body: <p>How to determine (in the <code>&lt;type_traits&gt;</code> spirit) whether or not one type explicitly convertible into another type? For example, I want to check the presence of <code>F::explicit operator double const &amp; () const;</code> for some <code>class</code>/<code>struct</code> <code>F</code>, but, at the same time, <code>F</code> should not been explicitly convertible to <code>float</code> or <code>long double</code> (something like <code>pred&lt; double const &amp; &gt;::value &amp;&amp; !pred&lt; float &gt;::value &amp;&amp; !pred&lt; long double &gt;::value</code>).</p>
  
  <p>Note, that <code>std::is_convertible&lt; From, To &gt;::value</code> checks "if <em>From</em> can be converted to <em>To</em> using <strong>implicit conversion</strong>". But I wish to determine whether there is the <strong>explicit conversion</strong> operator.</p>
  
  <p>And, if it possible, the "how to determine, type <em>From</em> is convertible into a <em>namely</em> reference to type <em>To</em>?"?</p>