|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r60464 - sandbox/committee/exceptions
From: dgregor_at_[hidden]
Date: 2010-03-11 00:47:43
Author: dgregor
Date: 2010-03-11 00:47:42 EST (Thu, 11 Mar 2010)
New Revision: 60464
URL: http://svn.boost.org/trac/boost/changeset/60464
Log:
Provide old/new paragraph numbering for 15.4
Text files modified:
sandbox/committee/exceptions/d3051.html | 30 ++++++++++++++++--------------
sandbox/committee/exceptions/deprecating-exception-specs.rst | 30 ++++++++++++++++--------------
2 files changed, 32 insertions(+), 28 deletions(-)
Modified: sandbox/committee/exceptions/d3051.html
==============================================================================
--- sandbox/committee/exceptions/d3051.html (original)
+++ sandbox/committee/exceptions/d3051.html 2010-03-11 00:47:42 EST (Thu, 11 Mar 2010)
@@ -482,10 +482,12 @@
paragraph in this section is accounted for (even those that have not
changed), to ease review. Editorial notes are <span class="ed">[Yellow]</span> and will
describe, e.g., when specific paragraphs have been moved. The
-paragraphs are numbered as in the working paper, but are ordered as
-they should appear after the following edits are applied.</p>
+paragraphs are numbered with old and new numbers (old/new), where the
+old numbers refer to the current working paper and the new numbers
+refer to the desired paragraph numbers after this paper is applied to
+the working paper.</p>
<blockquote>
-<p>1 A function declaration lists exceptions that its function might
+<p><span class="del">1</span>/<span class="ins">1</span> A function declaration lists exceptions that its function might
directly or indirectly throw by using an <em>exception-specification</em>
as a suffix of its declarator.
<span class="raw-html"><span class="ins">A function is said to <i>allow</i> an
@@ -507,11 +509,11 @@
<tt class="docutils literal"><span class="pre">noexcept</span> <span class="pre">(</span></tt> <em>constant-expression</em> <tt class="docutils literal"><span class="pre">)</span></tt>
<tt class="docutils literal"><span class="pre">noexcept</span></tt>
</pre>
-<p>In a <em>noexcept-specification</em>, the <em>constant-expression</em>, if supplied,
+<p><span class="ins">2</span> In a <em>noexcept-specification</em>, the <em>constant-expression</em>, if supplied,
shall be a constant expression ([expr.const]) that is contextually
converted to <tt class="docutils literal"><span class="pre">bool</span></tt> ([conv] Clause 4). A <em>noexcept-specification</em>
<tt class="docutils literal"><span class="pre">noexcept</span></tt> is equivalent to <tt class="docutils literal"><span class="pre">noexcept(true)</span></tt>.</p>
-<p>2 An <em>exception-specification</em> shall appear only on a function
+<p><span class="del">2</span>/<span class="ins">3</span> An <em>exception-specification</em> shall appear only on a function
declarator for a function type, pointer to function type, reference
to function type, or pointer to member function type that is the
top-level type of a declaration or definition, or on such a type
@@ -581,7 +583,7 @@
</pre>
</blockquote>
<p><span class="raw-html"><span class="del">the call to <code>f</code> is well-formed even though when called, <code>f</code> might throw exception <code>Y</code> that <code>g</code> does not allow. - <i>end example</i> ]</span></span></p>
-<p>11 A function with no <em>exception-specification</em>, or with an
+<p><span class="del">11</span>/<span class="ins">4</span> A function with no <em>exception-specification</em>, or with an
<em>exception-specification</em> of the form <tt class="docutils literal"><span class="pre">noexcept(</span></tt>
<em>constant-expression</em> <tt class="docutils literal"><span class="pre">)</span></tt> where the <em>constant-expression</em> yields
<tt class="docutils literal"><span class="pre">false</span></tt>, allows all exceptions. An <em>exception-specification</em> is
@@ -592,7 +594,7 @@
. A function with a
non-throwing <em>exception-specification</em> does not allow any
exceptions.</p>
-<p><span class="ed">[New paragraph]</span> <span class="raw-html"><span class="ins">Two
+<p><span class="ins">5</span> <span class="raw-html"><span class="ins">Two
<i>exception-specifications</i> are <i>compatible</i> if:</span></span></p>
<blockquote>
<ul class="simple">
@@ -602,7 +604,7 @@
<li><span class="raw-html"><span class="ins">both are <i>dynamic-exception-specifications</i> (D.5) that have the same set of <i>type-id</i>s.</span></span></li>
</ul>
</blockquote>
-<p>3 If any declaration of a function has an <em>exception-specification</em>,
+<p><span class="del">3</span>/<span class="ins">6</span> If any declaration of a function has an <em>exception-specification</em>,
all declarations, including the definition and an explicit
specialization, of that function shall have an <span class="raw-html"><span
class="ins">compatible</span> <i>exception-specification</i>
@@ -622,7 +624,7 @@
A diagnostic is required only if the <span class="raw-html"><span class="del">sets of <i>type-id</i>s are
different</span><span class="ins"><i>exception-specifications</i>
are not compatible</span></span> within a single translation unit.</p>
-<p>4 If a virtual function has an <em>exception-specification</em>, all declarations, including the definition, of any function that overrides that virtual function in any derived class shall only allow exceptions that are allowed by the <em>exception-specification</em> of the base class virtual function. [ <em>Example</em>:</p>
+<p><span class="del">4</span>/<span class="ins">7</span> If a virtual function has an <em>exception-specification</em>, all declarations, including the definition, of any function that overrides that virtual function in any derived class shall only allow exceptions that are allowed by the <em>exception-specification</em> of the base class virtual function. [ <em>Example</em>:</p>
<blockquote>
<pre class="literal-block">
struct B {
@@ -659,10 +661,10 @@
<ul class="simple">
<li><em>end example</em> ]</li>
</ul>
-<p>5 In such an assignment or initialization, <em>exception-specifications</em> on return types and parameter types shall <span class="del">match exactly</span> <span class="ins">be compatible</span>. In other assignments or initializations, <em>exception-specifications</em> shall <span class="del">match exactly</span> <span class="ins">be compatible</span>.</p>
-<p>12 An <em>exception-specification</em> is not considered part of a function's
+<p><span class="del">5</span>/<span class="ins">8</span> In such an assignment or initialization, <em>exception-specifications</em> on return types and parameter types shall <span class="del">match exactly</span> <span class="ins">be compatible</span>. In other assignments or initializations, <em>exception-specifications</em> shall <span class="del">match exactly</span> <span class="ins">be compatible</span>.</p>
+<p><span class="del">12</span>/<span class="ins">9</span> An <em>exception-specification</em> is not considered part of a function's
type.</p>
-<p>13 An implicitly declared special member function (Clause 12)
+<p><span class="del">13</span>/<span class="ins">10</span> An implicitly declared special member function (Clause 12)
<span class="del">shall</span> <span class="ins">may</span> have an <em>exception-specification</em>. <span class="del">If</span>
<span class="ins">Let</span> <tt class="docutils literal"><span class="pre">f</span></tt> <span class="del">is</span> <span class="ins">be</span> an implicitly declared default
constructor, copy constructor, destructor, or copy assignment
@@ -697,8 +699,8 @@
</pre>
</blockquote>
<p>Furthermore, if <tt class="docutils literal"><span class="pre">A::~A()</span></tt> or <tt class="docutils literal"><span class="pre">B::~B()</span></tt> were virtual, <tt class="docutils literal"><span class="pre">D::~D()</span></tt> would not be as restrictive as that of <tt class="docutils literal"><span class="pre">A::~A</span></tt>, and the program would be ill-formed since a function that overrides a virtual function from a base class shall have an exception-specification at least as restrictive as that in the base class. - <em>end example</em> ]</p>
-<p>14 <span class="ed">[Moved to D.5p8]</span> <span class="raw-html"><span class="del">In a <i>dynamic-exception-specification</i>, a <i>type-id</i> followed by an ellipsis is a pack expansion (14.6.3).</span></span></p>
-<p>15 If a function with a <em>noexcept-specification</em> whose
+<p><span class="del">14</span>/<span class="ins">11</span> <span class="ed">[Moved to D.5p8]</span> <span class="raw-html"><span class="del">In a <i>dynamic-exception-specification</i>, a <i>type-id</i> followed by an ellipsis is a pack expansion (14.6.3).</span></span></p>
+<p><span class="del">15</span>/<span class="ins">12</span> If a function with a <em>noexcept-specification</em> whose
<em>constant-expression</em> yields <tt class="docutils literal"><span class="pre">true</span></tt> throws an exception, the
behavior is undefined. <span class="raw-html"><span
class="ins">[<i>Note</i>:</span> A <i>noexcept-specification</i>
Modified: sandbox/committee/exceptions/deprecating-exception-specs.rst
==============================================================================
--- sandbox/committee/exceptions/deprecating-exception-specs.rst (original)
+++ sandbox/committee/exceptions/deprecating-exception-specs.rst 2010-03-11 00:47:42 EST (Thu, 11 Mar 2010)
@@ -183,10 +183,12 @@
paragraph in this section is accounted for (even those that have not
changed), to ease review. Editorial notes are :ed:`[Yellow]` and will
describe, e.g., when specific paragraphs have been moved. The
-paragraphs are numbered as in the working paper, but are ordered as
-they should appear after the following edits are applied.
+paragraphs are numbered with old and new numbers (old/new), where the
+old numbers refer to the current working paper and the new numbers
+refer to the desired paragraph numbers after this paper is applied to
+the working paper.
- 1 A function declaration lists exceptions that its function might
+ :del:`1`/:ins:`1` A function declaration lists exceptions that its function might
directly or indirectly throw by using an *exception-specification*
as a suffix of its declarator.
:raw-html:`<span class="ins">A function is said to <i>allow</i> an
@@ -210,12 +212,12 @@
``noexcept (`` *constant-expression* ``)``
``noexcept``
- In a *noexcept-specification*, the *constant-expression*, if supplied,
+ :ins:`2` In a *noexcept-specification*, the *constant-expression*, if supplied,
shall be a constant expression ([expr.const]) that is contextually
converted to ``bool`` ([conv] Clause 4). A *noexcept-specification*
``noexcept`` is equivalent to ``noexcept(true)``.
- 2 An *exception-specification* shall appear only on a function
+ :del:`2`/:ins:`3` An *exception-specification* shall appear only on a function
declarator for a function type, pointer to function type, reference
to function type, or pointer to member function type that is the
top-level type of a declaration or definition, or on such a type
@@ -294,7 +296,7 @@
:raw-html:`<span class="del">the call to <code>f</code> is well-formed even though when called, <code>f</code> might throw exception <code>Y</code> that <code>g</code> does not allow. - <i>end example</i> ]</span>`
- 11 A function with no *exception-specification*, or with an
+ :del:`11`/:ins:`4` A function with no *exception-specification*, or with an
*exception-specification* of the form ``noexcept(``
*constant-expression* ``)`` where the *constant-expression* yields
``false``, allows all exceptions. An *exception-specification* is
@@ -306,7 +308,7 @@
non-throwing *exception-specification* does not allow any
exceptions.
- :ed:`[New paragraph]` :raw-html:`<span class="ins">Two
+ :ins:`5` :raw-html:`<span class="ins">Two
<i>exception-specifications</i> are <i>compatible</i> if:</span>`
* :raw-html:`<span class="ins">both are non-throwing (regardless of their form), </span>`
@@ -314,7 +316,7 @@
* :raw-html:`<span class="ins">one <i>exception-specification</i> is of the form <code>noexcept(false)</code> and the other is of the form <code>throw(<i>type-id-list</i>)</code> (D.5), or</span>`
* :raw-html:`<span class="ins">both are <i>dynamic-exception-specifications</i> (D.5) that have the same set of <i>type-id</i>s.</span>`
- 3 If any declaration of a function has an *exception-specification*,
+ :del:`3`/:ins:`6` If any declaration of a function has an *exception-specification*,
all declarations, including the definition and an explicit
specialization, of that function shall have an :raw-html:`<span
class="ins">compatible</span> <i>exception-specification</i>
@@ -335,7 +337,7 @@
different</span><span class="ins"><i>exception-specifications</i>
are not compatible</span>` within a single translation unit.
- 4 If a virtual function has an *exception-specification*, all declarations, including the definition, of any function that overrides that virtual function in any derived class shall only allow exceptions that are allowed by the *exception-specification* of the base class virtual function. [ *Example*:
+ :del:`4`/:ins:`7` If a virtual function has an *exception-specification*, all declarations, including the definition, of any function that overrides that virtual function in any derived class shall only allow exceptions that are allowed by the *exception-specification* of the base class virtual function. [ *Example*:
.. parsed-literal::
@@ -371,12 +373,12 @@
- *end example* ]
- 5 In such an assignment or initialization, *exception-specifications* on return types and parameter types shall :del:`match exactly` :ins:`be compatible`. In other assignments or initializations, *exception-specifications* shall :del:`match exactly` :ins:`be compatible`.
+ :del:`5`/:ins:`8` In such an assignment or initialization, *exception-specifications* on return types and parameter types shall :del:`match exactly` :ins:`be compatible`. In other assignments or initializations, *exception-specifications* shall :del:`match exactly` :ins:`be compatible`.
- 12 An *exception-specification* is not considered part of a function's
+ :del:`12`/:ins:`9` An *exception-specification* is not considered part of a function's
type.
- 13 An implicitly declared special member function (Clause 12)
+ :del:`13`/:ins:`10` An implicitly declared special member function (Clause 12)
:del:`shall` :ins:`may` have an *exception-specification*. :del:`If`
:ins:`Let` ``f`` :del:`is` :ins:`be` an implicitly declared default
constructor, copy constructor, destructor, or copy assignment
@@ -410,9 +412,9 @@
Furthermore, if ``A::~A()`` or ``B::~B()`` were virtual, ``D::~D()`` would not be as restrictive as that of ``A::~A``, and the program would be ill-formed since a function that overrides a virtual function from a base class shall have an exception-specification at least as restrictive as that in the base class. - *end example* ]
- 14 :ed:`[Moved to D.5p8]` :raw-html:`<span class="del">In a <i>dynamic-exception-specification</i>, a <i>type-id</i> followed by an ellipsis is a pack expansion (14.6.3).</span>`
+ :del:`14`/:ins:`11` :ed:`[Moved to D.5p8]` :raw-html:`<span class="del">In a <i>dynamic-exception-specification</i>, a <i>type-id</i> followed by an ellipsis is a pack expansion (14.6.3).</span>`
- 15 If a function with a *noexcept-specification* whose
+ :del:`15`/:ins:`12` If a function with a *noexcept-specification* whose
*constant-expression* yields ``true`` throws an exception, the
behavior is undefined. :raw-html:`<span
class="ins">[<i>Note</i>:</span> A <i>noexcept-specification</i>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk