static_assert for unique_ptr of any type
<p>How can I statically assert that an expression is a <code>std::unique_ptr</code> i.e. <code>std::unique_ptr&lt;T&gt;</code> for any <code>T</code>.</p>

<pre><code>static_assert (std::is_pointer&lt;decltype(exp)&gt;()), "not a smart pointer")
</code></pre>

<p>Above does not work. If nothing straight forward, I am only interested if <code>bool()</code> operator is defined for the type.</p>