Skip to content

Commit d41985f

Browse files
committed
Use 'subclause', not 'section'.
The ISO Directives, Part 2, prescribe the term 'subclause'. Fixes #307.
1 parent bbca26c commit d41985f

22 files changed

+102
-102
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}
@@ -3941,7 +3941,7 @@
39413941
\rSec2[alg.binary.search]{Binary search}
39423942

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

45024502
\pnum
4503-
This section defines all the basic set operations on sorted structures.
4503+
This subclause defines all the basic set operations on sorted structures.
45044504
They also work with
45054505
\tcode{multiset}s~(\ref{multiset})
45064506
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~(\ref{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
@@ -7631,7 +7631,7 @@
76317631
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>}.
76327632

76337633
\pnum
7634-
This section only describes operations on \tcode{unordered_map} that
7634+
This subclause only describes operations on \tcode{unordered_map} that
76357635
are not described in one of the requirement tables, or for which there
76367636
is additional semantic information.
76377637

@@ -8198,7 +8198,7 @@
81988198
mapped type is \tcode{T}, and the value type is \tcode{pair<const Key, T>}.
81998199

82008200
\pnum
8201-
This section only describes operations on \tcode{unordered_multimap}
8201+
This subclause only describes operations on \tcode{unordered_multimap}
82028202
that are not described in one of the requirement tables, or for which
82038203
there is additional semantic information.
82048204

@@ -8549,7 +8549,7 @@
85498549
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.
85508550

85518551
\pnum
8552-
This section only describes operations on \tcode{unordered_set} that
8552+
This subclause only describes operations on \tcode{unordered_set} that
85538553
are not described in one of the requirement tables, or for which there
85548554
is additional semantic information.
85558555

@@ -8859,7 +8859,7 @@
88598859
constant iterator types. It is unspecified whether they are the same type.
88608860

88618861
\pnum
8862-
This section only describes operations on \tcode{unordered_multiset} that
8862+
This subclause only describes operations on \tcode{unordered_multiset} that
88638863
are not described in one of the requirement tables, or for which there
88648864
is additional semantic information.
88658865

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
Clause~\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
@@ -3051,7 +3051,7 @@
30513051
to convert the expression, the program is ill-formed.
30523052
\begin{note} If an initializer is itself an initializer list,
30533053
the element is list-initialized, which will result in a recursive application
3054-
of the rules in this section if the element is an aggregate. \end{note}
3054+
of the rules in this subclause if the element is an aggregate. \end{note}
30553055
\end{itemize}
30563056
\begin{example}
30573057
\begin{codeblock}
@@ -3928,7 +3928,7 @@
39283928

39293929
\item Otherwise, if \tcode{T} is a character array and the initializer list has a
39303930
single element that is an appropriately-typed string literal~(\ref{dcl.init.string}),
3931-
initialization is performed as described in that section.
3931+
initialization is performed as described in that subclause.
39323932

39333933
\item Otherwise, if \tcode{T} is an aggregate, aggregate initialization is
39343934
performed~(\ref{dcl.init.aggr}).

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 subclause, ``before'' and ``after'' refer to the
184184
``sequenced before'' relation~(\ref{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~(\ref{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~(\ref{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 (Clause~\ref{class.access}) or
26882688
ambiguous~(\ref{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~(\ref{conv.lval}), array-to-pointer~(\ref{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 subclause with the
1515
\tcode{deprecated} attribute~(\ref{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
@@ -1089,7 +1089,7 @@
10891089
and they are not potentially concurrent~(\ref{intro.multithread}),
10901090
the behavior is undefined.
10911091
\begin{note}
1092-
The next section imposes similar, but more complex restrictions on
1092+
The next subclause imposes similar, but more complex restrictions on
10931093
potentially concurrent computations.
10941094
\end{note}
10951095

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

source/iostreams.tex

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

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

1074410744
\pnum
1074510745
\begin{note}
10746-
The format conversions described in this section
10746+
The format conversions described in this subclause
1074710747
are not applied on POSIX-based operating systems
1074810748
because on these systems:
1074910749
\begin{itemize}

source/iterators.tex

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

30643064
\pnum
3065-
For each \tcode{istreambuf_iterator} constructor in this section,
3065+
For each \tcode{istreambuf_iterator} constructor in this subclause,
30663066
an end-of-stream iterator is constructed if and only if
30673067
the exposition-only member \tcode{sbuf_} is initialized with a null pointer value.
30683068

source/lib-intro.tex

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

13071307
\pnum
1308-
This section describes how a \Cpp program gains access to the facilities of the
1308+
This subclause describes how a \Cpp program gains access to the facilities of the
13091309
\Cpp standard library. \ref{using.headers} describes effects during translation
13101310
phase 4, while~\ref{using.linkage} describes effects during phase
13111311
8~(\ref{lex.phases}).
@@ -2132,7 +2132,7 @@
21322132
\rSec3[constraints.overview]{Overview}
21332133

21342134
\pnum
2135-
This section describes restrictions on \Cpp programs that use the facilities of
2135+
This subclause describes restrictions on \Cpp programs that use the facilities of
21362136
the \Cpp standard library. The following subclauses specify constraints on the
21372137
program's use of namespaces~(\ref{namespace.std}), its use of various reserved
21382138
names~(\ref{reserved.names}), its use of headers~(\ref{alt.headers}), its use of
@@ -2635,7 +2635,7 @@
26352635
\rSec3[conforming.overview]{Overview}
26362636

26372637
\pnum
2638-
This section describes the constraints upon, and latitude of, implementations of the \Cpp standard library.
2638+
This subclause describes the constraints upon, and latitude of, implementations of the \Cpp standard library.
26392639

26402640
\pnum
26412641
An implementation's use of headers is discussed in~\ref{res.on.headers}, its use
@@ -2784,7 +2784,7 @@
27842784
\rSec3[res.on.data.races]{Data race avoidance}
27852785

27862786
\pnum
2787-
This section specifies requirements that implementations shall meet to prevent data
2787+
This subclause specifies requirements that implementations shall meet to prevent data
27882788
races~(\ref{intro.multithread}).
27892789
Every standard library function shall meet each requirement unless otherwise specified.
27902790
Implementations may prevent data races in cases other than those specified below.

source/macros.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@
6262

6363
%%--------------------------------------------------
6464
%% Sectioning macros.
65-
% Each section has a depth, an automatically generated section
65+
% Each subclause has a depth, an automatically generated subclause
6666
% number, a name, and a short tag. The depth is an integer in
6767
% the range [0,5]. (If it proves necessary, it wouldn't take much
6868
% programming to raise the limit from 5 to something larger.)
6969

7070

7171
% The basic sectioning command. Example:
7272
% \Sec1[intro.scope]{Scope}
73-
% defines a first-level section whose name is "Scope" and whose short
73+
% defines a first-level subclause whose name is "Scope" and whose short
7474
% tag is intro.scope. The square brackets are mandatory.
7575
\def\Sec#1[#2]#3{%
7676
\ifcase#1\let\s=\chapter

0 commit comments

Comments
 (0)