   <code class="computeroutput">dynamic_cast</code> succeeds.
    </p>
<p>
      A <code class="computeroutput">polymorphic_downcast</code> should be used for downcasts that you are
      certain should succeed. Error checking is only performed in translation units
      where <code class="computeroutput">NDEBUG</code> is not defined, via
    </p>
<pre class="programlisting">assert( dynamic_cast&lt;Derived&gt;(x) == x )
</pre>
<p>
      where <code class="computeroutput">x</code> is the source pointer. This