Skip to content

Commit 1615b66

Browse files
committed
Use 'subclause', not 'section'.
The ISO Directives, Part 2, prescribe the term 'subclause'. Also remove overview sub-headings for non-normative subclause overview text. Fixes #307.
1 parent 1e66edb commit 1615b66

22 files changed

+101
-101
lines changed

source/algorithms.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,7 +1226,7 @@
12261226
\rSec1[algorithms.parallel]{Parallel algorithms}
12271227

12281228
\pnum
1229-
This section describes components that \Cpp programs may use to perform
1229+
This subclause describes components that \Cpp programs may use to perform
12301230
operations on containers and other sequences in parallel.
12311231

12321232
\rSec2[algorithms.parallel.defns]{Terms and definitions}
@@ -3937,7 +3937,7 @@
39373937
\rSec2[alg.binary.search]{Binary search}
39383938

39393939
\pnum
3940-
All of the algorithms in this section are versions of binary search
3940+
All of the algorithms in this subclause are versions of binary search
39413941
and assume that the sequence being searched is partitioned with respect to
39423942
an expression formed by binding the search key to an argument of the
39433943
implied or explicit comparison function.
@@ -4496,7 +4496,7 @@
44964496
\rSec2[alg.set.operations]{Set operations on sorted structures}
44974497

44984498
\pnum
4499-
This section defines all the basic set operations on sorted structures.
4499+
This subclause defines all the basic set operations on sorted structures.
45004500
They also work with
45014501
\tcode{multiset}s\iref{multiset}
45024502
containing multiple copies of equivalent elements.

source/atomics.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1413,7 +1413,7 @@
14131413
\rSec1[atomics.fences]{Fences}
14141414

14151415
\pnum
1416-
This section introduces synchronization primitives called \term{fences}. Fences can have
1416+
This subclause introduces synchronization primitives called \term{fences}. Fences can have
14171417
acquire semantics, release semantics, or both. A fence with acquire semantics is called
14181418
an \term{acquire fence}. A fence with release semantics is called a \term{release
14191419
fence}.

source/back.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ \chapter{Bibliography}
2222

2323
\clearpage
2424
\renewcommand{\glossaryname}{Cross references}
25-
\renewcommand{\preglossaryhook}{This annex lists each section label and the
26-
corresponding section number and page number, in alphabetical order by label.\\}
25+
\renewcommand{\preglossaryhook}{This annex lists each clause or subclause label and the
26+
corresponding clause or subclause number and page number, in alphabetical order by label.\\}
2727
\twocolglossary
2828
\renewcommand{\leftmark}{\glossaryname}
2929
{
@@ -34,7 +34,7 @@ \chapter{Bibliography}
3434
\clearpage
3535
\input{xrefdelta}
3636
\renewcommand{\glossaryname}{Cross references from ISO \CppXVII}
37-
\renewcommand{\preglossaryhook}{All section labels from
37+
\renewcommand{\preglossaryhook}{All clause or subclause labels from
3838
ISO \CppXVII (ISO/IEC 14882:2017, \doccite{Programming Languages --- \Cpp})
3939
are present in this document, with the exceptions described below.\\}
4040
\renewcommand{\leftmark}{\glossaryname}
@@ -71,7 +71,7 @@ \chapter{Bibliography}
7171
}
7272

7373
\clearpage
74-
\renewcommand{\preindexhook}{The entries in this section are rough descriptions; exact
74+
\renewcommand{\preindexhook}{The entries in this index are rough descriptions; exact
7575
specifications are at the indicated page in the general text.\\}
7676
\renewcommand{\indexname}{Index of implementation-defined behavior}
7777
\renewcommand{\leftmark}{\indexname}

source/basic.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3168,7 +3168,7 @@
31683168
\item the value returned by a call to the \Cpp standard library implementation of
31693169
\tcode{::operator new(std::\brk{}size_t)} or
31703170
\tcode{::operator new(std::size_t, std::align_val_t)}%
3171-
;\footnote{This section does not impose restrictions
3171+
;\footnote{This subclause does not impose restrictions
31723172
on indirection through pointers to memory not allocated by \tcode{::operator new}. This
31733173
maintains the ability of many \Cpp implementations to use binary libraries and
31743174
components written in other languages. In particular, this applies to C binaries,
@@ -3496,7 +3496,7 @@
34963496
\end{example}
34973497

34983498
\pnum
3499-
In this section, ``before'' and ``after'' refer to the ``happens before''
3499+
In this subclause, ``before'' and ``after'' refer to the ``happens before''
35003500
relation\iref{intro.multithread}. \begin{note} Therefore, undefined behavior results
35013501
if an object that is being constructed in one thread is referenced from another
35023502
thread without adequate synchronization. \end{note}%
@@ -3824,7 +3824,7 @@
38243824
unsigned integer types are collectively called the
38253825
\defnx{extended integer types}{extended integer type}.
38263826
The signed and unsigned integer types shall satisfy
3827-
the constraints given in the C standard, section 5.2.4.2.1.
3827+
the constraints given in the C standard, subclause 5.2.4.2.1.
38283828

38293829
\pnum
38303830
\indextext{arithmetic!\idxcode{unsigned}}%

source/containers.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7507,7 +7507,7 @@
75077507
An \tcode{unordered_map} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (Table~\ref{tab:containers.allocatoraware}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_map} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_map<Key, T>} the \tcode{key type} is \tcode{Key}, the mapped type is \tcode{T}, and the value type is \tcode{pair<const Key, T>}.
75087508

75097509
\pnum
7510-
This section only describes operations on \tcode{unordered_map} that
7510+
This subclause only describes operations on \tcode{unordered_map} that
75117511
are not described in one of the requirement tables, or for which there
75127512
is additional semantic information.
75137513

@@ -8067,7 +8067,7 @@
80678067
mapped type is \tcode{T}, and the value type is \tcode{pair<const Key, T>}.
80688068

80698069
\pnum
8070-
This section only describes operations on \tcode{unordered_multimap}
8070+
This subclause only describes operations on \tcode{unordered_multimap}
80718071
that are not described in one of the requirement tables, or for which
80728072
there is additional semantic information.
80738073

@@ -8411,7 +8411,7 @@
84118411
An \tcode{unordered_set} satisfies all of the requirements of a container, of an unordered associative container, and of an allocator-aware container (Table~\ref{tab:containers.allocatoraware}). It provides the operations described in the preceding requirements table for unique keys; that is, an \tcode{unordered_set} supports the \tcode{a_uniq} operations in that table, not the \tcode{a_eq} operations. For an \tcode{unordered_set<Key>} the \tcode{key type} and the value type are both \tcode{Key}. The \tcode{iterator} and \tcode{const_iterator} types are both constant iterator types. It is unspecified whether they are the same type.
84128412

84138413
\pnum
8414-
This section only describes operations on \tcode{unordered_set} that
8414+
This subclause only describes operations on \tcode{unordered_set} that
84158415
are not described in one of the requirement tables, or for which there
84168416
is additional semantic information.
84178417

@@ -8714,7 +8714,7 @@
87148714
constant iterator types. It is unspecified whether they are the same type.
87158715

87168716
\pnum
8717-
This section only describes operations on \tcode{unordered_multiset} that
8717+
This subclause only describes operations on \tcode{unordered_multiset} that
87188718
are not described in one of the requirement tables, or for which there
87198719
is additional semantic information.
87208720

source/declarations.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,7 @@
977977
point of call is to be preferred to the usual function call mechanism.
978978
An implementation is not required to perform this inline substitution at
979979
the point of call; however, even if this inline substitution is omitted,
980-
the other rules for inline functions specified in this section shall
980+
the other rules for inline functions specified in this subclause shall
981981
still be respected.
982982

983983
\pnum
@@ -1110,7 +1110,7 @@
11101110
\ref{class},
11111111
and
11121112
\ref{temp.res}, respectively. The remaining
1113-
\grammarterm{type-specifier}{s} are discussed in the rest of this section.
1113+
\grammarterm{type-specifier}{s} are discussed in the rest of this subclause.
11141114
\end{note}
11151115

11161116
\rSec3[dcl.type.cv]{The \grammarterm{cv-qualifier}{s}}%
@@ -1609,7 +1609,7 @@
16091609

16101610
\pnum
16111611
A program that uses \tcode{auto} or \tcode{decltype(auto)} in a context not
1612-
explicitly allowed in this section is ill-formed.
1612+
explicitly allowed in this subclause is ill-formed.
16131613

16141614
\pnum
16151615
If the \grammarterm{init-declarator-list} contains more than one

source/declarators.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3016,7 +3016,7 @@
30163016
to convert the expression, the program is ill-formed.
30173017
\begin{note} If an initializer is itself an initializer list,
30183018
the element is list-initialized, which will result in a recursive application
3019-
of the rules in this section if the element is an aggregate. \end{note}
3019+
of the rules in this subclause if the element is an aggregate. \end{note}
30203020
\end{itemize}
30213021
\begin{example}
30223022
\begin{codeblock}
@@ -3893,7 +3893,7 @@
38933893

38943894
\item Otherwise, if \tcode{T} is a character array and the initializer list has a
38953895
single element that is an appropriately-typed string literal\iref{dcl.init.string},
3896-
initialization is performed as described in that section.
3896+
initialization is performed as described in that subclause.
38973897

38983898
\item Otherwise, if \tcode{T} is an aggregate, aggregate initialization is
38993899
performed\iref{dcl.init.aggr}.

source/diagnostics.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -939,7 +939,7 @@
939939
Classes may be derived from \tcode{error_category} to support
940940
categories of errors in addition to those defined in this document.
941941
Such classes shall behave as specified in this
942-
subclause. \begin{note} \tcode{error_category} objects are
942+
subclause~\ref{syserr.errcat}. \begin{note} \tcode{error_category} objects are
943943
passed by reference, and two such objects
944944
are equal if they have the same address. This means that applications using
945945
custom \tcode{error_category} types should create a single object of each

source/exceptions.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
\end{example}
181181

182182
\pnum
183-
In this section, ``before'' and ``after'' refer to the
183+
In this Clause, ``before'' and ``after'' refer to the
184184
``sequenced before'' relation\iref{intro.execution}.
185185

186186
\rSec1[except.throw]{Throwing an exception}%
@@ -362,7 +362,7 @@
362362
\indextext{unwinding!stack}%
363363
As control passes from the point where an exception is thrown
364364
to a handler,
365-
destructors are invoked by a process, specified in this section, called
365+
destructors are invoked by a process, specified in this subclause, called
366366
\defn{stack unwinding}.
367367

368368
\pnum

source/expressions.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,7 +2181,7 @@
21812181
it is replaced by the return type
21822182
of the function selected by overload resolution
21832183
for class template deduction\iref{over.match.class.deduct}
2184-
for the remainder of this section.
2184+
for the remainder of this subclause.
21852185

21862186
\pnum
21872187
If the initializer is a parenthesized single expression,
@@ -2683,7 +2683,7 @@
26832683
the result refers to the object or the specified base class subobject
26842684
thereof; otherwise, the lvalue-to-rvalue conversion\iref{conv.lval}
26852685
is applied to the bit-field and the resulting prvalue is used as the
2686-
\grammarterm{expression} of the \tcode{static_cast} for the remainder of this section.
2686+
\grammarterm{expression} of the \tcode{static_cast} for the remainder of this subclause.
26872687
If \tcode{T2} is an inaccessible\iref{class.access} or
26882688
ambiguous\iref{class.member.lookup} base class of \tcode{T1},
26892689
a program that necessitates such a cast is ill-formed.
@@ -3025,7 +3025,7 @@
30253025

30263026
\pnum
30273027
\begin{note}
3028-
Subject to the restrictions in this section, an expression may be cast
3028+
Subject to the restrictions in this subclause, an expression may be cast
30293029
to its own type using a \tcode{const_cast} operator.
30303030
\end{note}
30313031

@@ -4013,7 +4013,7 @@
40134013
If the operand has a class type, the operand is converted to a pointer
40144014
type by calling the above-mentioned conversion function, and the
40154015
converted operand is used in place of the original operand for the
4016-
remainder of this section.
4016+
remainder of this subclause.
40174017
In the first alternative
40184018
(\defnx{delete object}{object!delete}), the value of the operand of \tcode{delete} may
40194019
be a null pointer value, a pointer to a non-array object
@@ -5006,7 +5006,7 @@
50065006
of the same value category and
50075007
of types \cvqual{cv1} \tcode{T} and \cvqual{cv2} \tcode{T}, respectively,
50085008
the operands are considered to be of type \cvqual{cv} \tcode{T}
5009-
for the remainder of this section,
5009+
for the remainder of this subclause,
50105010
where \cvqual{cv} is the union of \cvqual{cv1} and \cvqual{cv2}.
50115011

50125012
\pnum
@@ -5063,7 +5063,7 @@
50635063
Otherwise, if exactly one conversion sequence can be formed,
50645064
that conversion is applied to the chosen operand
50655065
and the converted operand is used in place of the original operand for
5066-
the remainder of this section.
5066+
the remainder of this subclause.
50675067
\begin{note}
50685068
The conversion might be ill-formed even if an implicit conversion
50695069
sequence could be formed.
@@ -5083,7 +5083,7 @@
50835083
If the overload resolution fails, the program is ill-formed. Otherwise,
50845084
the conversions thus determined are applied, and the converted operands
50855085
are used in place of the original operands for the remainder of this
5086-
section.
5086+
subclause.
50875087

50885088
\pnum
50895089
Lvalue-to-rvalue\iref{conv.lval}, array-to-pointer\iref{conv.array},

source/future.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
is defined as:
1212
Normative for the current edition of this International Standard,
1313
but having been identified as a candidate for removal from future revisions.
14-
An implementation may declare library names and entities described in this section with the
14+
An implementation may declare library names and entities described in this Clause with the
1515
\tcode{deprecated} attribute\iref{dcl.attr.deprecated}.
1616

1717
\rSec1[depr.static_constexpr]{Redeclaration of \tcode{static constexpr} data members}

source/intro.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1102,7 +1102,7 @@
11021102
and they are not potentially concurrent\iref{intro.multithread},
11031103
the behavior is undefined.
11041104
\begin{note}
1105-
The next section imposes similar, but more complex restrictions on
1105+
The next subclause imposes similar, but more complex restrictions on
11061106
potentially concurrent computations.
11071107
\end{note}
11081108

@@ -1201,7 +1201,7 @@
12011201
initial value of the object, a value assigned to the object by \placeholder{T}, or a
12021202
value assigned to the object by another thread, according to the rules below.
12031203
\begin{note} In some cases, there may instead be undefined behavior. Much of this
1204-
section is motivated by the desire to support atomic operations with explicit
1204+
subclause is motivated by the desire to support atomic operations with explicit
12051205
and detailed visibility constraints. However, it also implicitly supports a
12061206
simpler view for more restricted programs. \end{note}
12071207

source/iostreams.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8493,7 +8493,7 @@
84938493
\pnum
84948494
In order to support file I/O and multibyte/wide character conversion,
84958495
conversions are performed using members of a facet, referred to as
8496-
\tcode{a_codecvt} in following sections, obtained as if by
8496+
\tcode{a_codecvt} in following subclauses, obtained as if by
84978497

84988498
\begin{codeblock}
84998499
const codecvt<charT, char, typename traits::state_type>& a_codecvt =
@@ -10734,7 +10734,7 @@
1073410734

1073510735
\pnum
1073610736
\begin{note}
10737-
The format conversions described in this section
10737+
The format conversions described in this subclause
1073810738
are not applied on POSIX-based operating systems
1073910739
because on these systems:
1074010740
\begin{itemize}

source/iterators.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3069,7 +3069,7 @@
30693069
\rSec3[istreambuf.iterator.cons]{\tcode{istreambuf_iterator} constructors}
30703070

30713071
\pnum
3072-
For each \tcode{istreambuf_iterator} constructor in this section,
3072+
For each \tcode{istreambuf_iterator} constructor in this subclause,
30733073
an end-of-stream iterator is constructed if and only if
30743074
the exposition-only member \tcode{sbuf_} is initialized with a null pointer value.
30753075

source/lib-intro.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,7 +1327,7 @@
13271327
\rSec3[using.overview]{Overview}
13281328

13291329
\pnum
1330-
This section describes how a \Cpp program gains access to the facilities of the
1330+
Subclause \ref{using} describes how a \Cpp program gains access to the facilities of the
13311331
\Cpp standard library. \ref{using.headers} describes effects during translation
13321332
phase 4, while~\ref{using.linkage} describes effects during phase
13331333
8\iref{lex.phases}.
@@ -2151,7 +2151,7 @@
21512151
\rSec3[constraints.overview]{Overview}
21522152

21532153
\pnum
2154-
This section describes restrictions on \Cpp programs that use the facilities of
2154+
Subclause \ref{constraints} describes restrictions on \Cpp programs that use the facilities of
21552155
the \Cpp standard library. The following subclauses specify constraints on the
21562156
program's use of namespaces\iref{namespace.std}, its use of various reserved
21572157
names\iref{reserved.names}, its use of headers\iref{alt.headers}, its use of
@@ -2654,7 +2654,7 @@
26542654
\rSec3[conforming.overview]{Overview}
26552655

26562656
\pnum
2657-
This section describes the constraints upon, and latitude of, implementations of the \Cpp standard library.
2657+
Subclause \ref{conforming} describes the constraints upon, and latitude of, implementations of the \Cpp standard library.
26582658

26592659
\pnum
26602660
An implementation's use of headers is discussed in~\ref{res.on.headers}, its use
@@ -2803,7 +2803,7 @@
28032803
\rSec3[res.on.data.races]{Data race avoidance}
28042804

28052805
\pnum
2806-
This section specifies requirements that implementations shall meet to prevent data
2806+
This subclause specifies requirements that implementations shall meet to prevent data
28072807
races\iref{intro.multithread}.
28082808
Every standard library function shall meet each requirement unless otherwise specified.
28092809
Implementations may prevent data races in cases other than those specified below.

0 commit comments

Comments
 (0)