Skip to content

Commit d56921b

Browse files
jensmaurerzygoloid
authored andcommitted
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 801fb0b commit d56921b

22 files changed

+103
-105
lines changed

source/algorithms.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,7 @@
11121112
\pnum
11131113
If an algorithm's
11141114
\effects
1115-
section says that a value pointed to by any iterator passed
1115+
element specifies that a value pointed to by any iterator passed
11161116
as an argument is modified, then that algorithm has an additional
11171117
type requirement:
11181118
The type of that argument shall satisfy the requirements
@@ -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
@@ -25,8 +25,8 @@ \chapter{Bibliography}
2525

2626
\clearpage
2727
\renewcommand{\glossaryname}{Cross references}
28-
\renewcommand{\preglossaryhook}{This annex lists each section label and the
29-
corresponding section number and page number, in alphabetical order by label.\\}
28+
\renewcommand{\preglossaryhook}{This annex lists each clause or subclause label and the
29+
corresponding clause or subclause number and page number, in alphabetical order by label.\\}
3030
\twocolglossary
3131
\renewcommand{\leftmark}{\glossaryname}
3232
{
@@ -37,7 +37,7 @@ \chapter{Bibliography}
3737
\clearpage
3838
\input{xrefdelta}
3939
\renewcommand{\glossaryname}{Cross references from ISO \CppXVII}
40-
\renewcommand{\preglossaryhook}{All section labels from
40+
\renewcommand{\preglossaryhook}{All clause and subclause labels from
4141
ISO \CppXVII (ISO/IEC 14882:2017, \doccite{Programming Languages --- \Cpp})
4242
are present in this document, with the exceptions described below.\\}
4343
\renewcommand{\leftmark}{\glossaryname}
@@ -74,7 +74,7 @@ \chapter{Bibliography}
7474
}
7575

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

source/basic.tex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2947,7 +2947,7 @@
29472947
\end{example}
29482948

29492949
\pnum
2950-
In this section, ``before'' and ``after'' refer to the ``happens before''
2950+
In this subclause, ``before'' and ``after'' refer to the ``happens before''
29512951
relation\iref{intro.multithread}. \begin{note} Therefore, undefined behavior results
29522952
if an object that is being constructed in one thread is referenced from another
29532953
thread without adequate synchronization. \end{note}%
@@ -3286,7 +3286,7 @@
32863286
\item the value returned by a call to the \Cpp standard library implementation of
32873287
\tcode{::operator new(std::\brk{}size_t)} or
32883288
\tcode{::operator new(std::size_t, std::align_val_t)}%
3289-
;\footnote{This section does not impose restrictions
3289+
;\footnote{This subclause does not impose restrictions
32903290
on indirection through pointers to memory not allocated by \tcode{::operator new}. This
32913291
maintains the ability of many \Cpp implementations to use binary libraries and
32923292
components written in other languages. In particular, this applies to C binaries,
@@ -3771,7 +3771,7 @@
37713771
unsigned integer types are collectively called the
37723772
\defnx{extended integer types}{extended integer type}.
37733773
The signed and unsigned integer types shall satisfy
3774-
the constraints given in the C standard, section 5.2.4.2.1.
3774+
the constraints given in the C standard, subclause 5.2.4.2.1.
37753775

37763776
\pnum
37773777
\indextext{arithmetic!\idxcode{unsigned}}%
@@ -4410,7 +4410,7 @@
44104410
and they are not potentially concurrent\iref{intro.multithread},
44114411
the behavior is undefined.
44124412
\begin{note}
4413-
The next section imposes similar, but more complex restrictions on
4413+
The next subclause imposes similar, but more complex restrictions on
44144414
potentially concurrent computations.
44154415
\end{note}
44164416

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

source/containers.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7502,7 +7502,7 @@
75027502
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>}.
75037503

75047504
\pnum
7505-
This section only describes operations on \tcode{unordered_map} that
7505+
This subclause only describes operations on \tcode{unordered_map} that
75067506
are not described in one of the requirement tables, or for which there
75077507
is additional semantic information.
75087508

@@ -8062,7 +8062,7 @@
80628062
mapped type is \tcode{T}, and the value type is \tcode{pair<const Key, T>}.
80638063

80648064
\pnum
8065-
This section only describes operations on \tcode{unordered_multimap}
8065+
This subclause only describes operations on \tcode{unordered_multimap}
80668066
that are not described in one of the requirement tables, or for which
80678067
there is additional semantic information.
80688068

@@ -8406,7 +8406,7 @@
84068406
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.
84078407

84088408
\pnum
8409-
This section only describes operations on \tcode{unordered_set} that
8409+
This subclause only describes operations on \tcode{unordered_set} that
84108410
are not described in one of the requirement tables, or for which there
84118411
is additional semantic information.
84128412

@@ -8709,7 +8709,7 @@
87098709
constant iterator types. It is unspecified whether they are the same type.
87108710

87118711
\pnum
8712-
This section only describes operations on \tcode{unordered_multiset} that
8712+
This subclause only describes operations on \tcode{unordered_multiset} that
87138713
are not described in one of the requirement tables, or for which there
87148714
is additional semantic information.
87158715

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
@@ -3018,7 +3018,7 @@
30183018
to convert the expression, the program is ill-formed.
30193019
\begin{note} If an initializer is itself an initializer list,
30203020
the element is list-initialized, which will result in a recursive application
3021-
of the rules in this section if the element is an aggregate. \end{note}
3021+
of the rules in this subclause if the element is an aggregate. \end{note}
30223022
\end{itemize}
30233023
\begin{example}
30243024
\begin{codeblock}
@@ -3895,7 +3895,7 @@
38953895

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

39003900
\item Otherwise, if \tcode{T} is an aggregate, aggregate initialization is
39013901
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
@@ -2324,7 +2324,7 @@
23242324
it is replaced by the return type
23252325
of the function selected by overload resolution
23262326
for class template deduction\iref{over.match.class.deduct}
2327-
for the remainder of this section.
2327+
for the remainder of this subclause.
23282328

23292329
\pnum
23302330
If the initializer is a parenthesized single expression,
@@ -2826,7 +2826,7 @@
28262826
the result refers to the object or the specified base class subobject
28272827
thereof; otherwise, the lvalue-to-rvalue conversion\iref{conv.lval}
28282828
is applied to the bit-field and the resulting prvalue is used as the
2829-
\grammarterm{expression} of the \tcode{static_cast} for the remainder of this section.
2829+
\grammarterm{expression} of the \tcode{static_cast} for the remainder of this subclause.
28302830
If \tcode{T2} is an inaccessible\iref{class.access} or
28312831
ambiguous\iref{class.member.lookup} base class of \tcode{T1},
28322832
a program that necessitates such a cast is ill-formed.
@@ -3168,7 +3168,7 @@
31683168

31693169
\pnum
31703170
\begin{note}
3171-
Subject to the restrictions in this section, an expression may be cast
3171+
Subject to the restrictions in this subclause, an expression may be cast
31723172
to its own type using a \tcode{const_cast} operator.
31733173
\end{note}
31743174

@@ -4156,7 +4156,7 @@
41564156
If the operand has a class type, the operand is converted to a pointer
41574157
type by calling the above-mentioned conversion function, and the
41584158
converted operand is used in place of the original operand for the
4159-
remainder of this section.
4159+
remainder of this subclause.
41604160
In the first alternative
41614161
(\defnx{delete object}{object!delete}), the value of the operand of \tcode{delete} may
41624162
be a null pointer value, a pointer to a non-array object
@@ -5149,7 +5149,7 @@
51495149
of the same value category and
51505150
of types \cvqual{cv1} \tcode{T} and \cvqual{cv2} \tcode{T}, respectively,
51515151
the operands are considered to be of type \cvqual{cv} \tcode{T}
5152-
for the remainder of this section,
5152+
for the remainder of this subclause,
51535153
where \cvqual{cv} is the union of \cvqual{cv1} and \cvqual{cv2}.
51545154

51555155
\pnum
@@ -5206,7 +5206,7 @@
52065206
Otherwise, if exactly one conversion sequence can be formed,
52075207
that conversion is applied to the chosen operand
52085208
and the converted operand is used in place of the original operand for
5209-
the remainder of this section.
5209+
the remainder of this subclause.
52105210
\begin{note}
52115211
The conversion might be ill-formed even if an implicit conversion
52125212
sequence could be formed.
@@ -5226,7 +5226,7 @@
52265226
If the overload resolution fails, the program is ill-formed. Otherwise,
52275227
the conversions thus determined are applied, and the converted operands
52285228
are used in place of the original operands for the remainder of this
5229-
section.
5229+
subclause.
52305230

52315231
\pnum
52325232
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: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -578,8 +578,6 @@
578578
rewritten by the implementation in any of the above ways because the
579579
same result will occur. \end{note}
580580

581-
582-
583581
\rSec1[intro.structure]{Structure of this document}
584582

585583
\pnum

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: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@
956956
Whenever a name \tcode{x} defined in the standard library is mentioned,
957957
the name \tcode{x} is assumed to be fully qualified as
958958
\tcode{::std::x},
959-
unless explicitly described otherwise. For example, if the \effects section
959+
unless explicitly described otherwise. For example, if the \effects element
960960
for library function \tcode{F} is described as calling library function \tcode{G},
961961
the function
962962
\tcode{::std::G}
@@ -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)