What does noexcept exactly encompass for constructors?
<p><strong>According to the C++ standard, what exactly does a <code>noexcept</code> <em>noexcept-specification</em> on a class constructor apply to?</strong></p>

<ol>
<li>the <em>function-body</em>?

<ol>
<li>initialization of members in the optional <em>ctor-initializer</em>?

<ol>
<li>initialization of base classes in the optional <em>mem-initializer</em>s?</li>
<li>initialization of class members in the optional <em>mem-initializer</em>s?</li>
</ol></li>
<li>the <em>compound-statement</em>?</li>
<li>the <em>function-try-block</em>?</li>
</ol></li>
<li>initialization of object base classes not initialized in the <em>ctor-initializer</em>?</li>
<li>initialization of object class members not initialized in the <em>ctor-initializer</em>?</li>
<li>something additional?</li>
</ol>

<p>In other words, which of the above are encompassed by the <code>noexcept</code> <em>noexcept-specification</em> (i.e. trigger <code>std::terminate()</code> when throwing an exception if <code>noexcept(true)</code>)?</p>

<p>Please provide references to the standard. Tips on any caveats using <code>noexcept</code> for constructors are also welcome. Thanks!</p>