Skip to content

Commit 2f54599

Browse files
committed
[std] Use \termref throughout
1 parent 1548672 commit 2f54599

15 files changed

+64
-65
lines changed

source/algorithms.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -10933,7 +10933,7 @@
1093310933
\pnum
1093410934
\constraints
1093510935
The expression \tcode{::new (declval<void*>()) T(declval<Args>()...)}
10936-
is well-formed when treated as an unevaluated operand\iref{term.unevaluated.operand}.
10936+
is well-formed when treated as an \termref{unevaluated operand}.
1093710937

1093810938
\pnum
1093910939
\effects

source/basic.tex

+3-4
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,6 @@
437437
\end{itemize}
438438

439439
\pnum
440-
\label{term.odr.use}%
441440
A variable is named by an expression
442441
if the expression is an \grammarterm{id-expression} that denotes it.
443442
A variable \tcode{x} whose name appears as a
@@ -2861,7 +2860,7 @@
28612860
\item
28622861
any reference to a non-volatile const object or reference
28632862
with internal or no linkage initialized with a constant expression
2864-
that is not an odr-use\iref{term.odr.use},
2863+
that is not an \termref{odr-use},
28652864
\end{itemize}
28662865
or defines a constexpr variable initialized to a TU-local value (defined below).
28672866
\begin{note}
@@ -6554,7 +6553,7 @@
65546553
\pnum
65556554
\indextext{non-initialization odr-use|see{odr-use, non-initialization}}%
65566555
A \defnx{non-initialization odr-use}{odr-use!non-initialization}
6557-
is an odr-use\iref{term.odr.use} not caused directly or indirectly by
6556+
is an \termref{odr-use} not caused directly or indirectly by
65586557
the initialization of a non-block static or thread storage duration variable.
65596558

65606559
\pnum
@@ -6571,7 +6570,7 @@
65716570
A non-block variable with static storage duration
65726571
having initialization
65736572
with side effects is initialized in this case,
6574-
even if it is not itself odr-used\iref{term.odr.use,basic.stc.static}.
6573+
even if it is not itself odr-used\iref{term.odr-use,basic.stc.static}.
65756574
\end{footnote}
65766575
It is \impldef{threads and program points at which deferred dynamic initialization is performed}
65776576
in which threads and at which points in the program such deferred dynamic initialization occurs.

source/classes.tex

+10-10
Original file line numberDiff line numberDiff line change
@@ -1030,7 +1030,7 @@
10301030
The implementation will implicitly declare these member functions for some class
10311031
types when the program does not explicitly declare them.
10321032
The implementation will implicitly define them
1033-
if they are odr-used\iref{term.odr.use} or
1033+
if they are \termrefx{odr-used}{odr-use} or
10341034
needed for constant evaluation\iref{expr.const}.
10351035
\end{note}
10361036
An implicitly-declared special member function is declared at the closing
@@ -1304,7 +1304,7 @@
13041304
that is defaulted and not defined as deleted
13051305
is
13061306
\defnx{implicitly defined}{constructor!implicitly defined}
1307-
when it is odr-used\iref{term.odr.use}
1307+
when it is \termrefx{odr-used}{odr-use}
13081308
to initialize an object of its class type\iref{intro.object},
13091309
when it is needed for constant evaluation\iref{expr.const}, or
13101310
when it is explicitly defaulted after its first declaration.
@@ -1605,12 +1605,12 @@
16051605
that is defaulted and not defined as deleted
16061606
is
16071607
\term{implicitly defined}
1608-
when it is odr-used\iref{term.odr.use},
1608+
when it is \termrefx{odr-used}{odr-use},
16091609
when it is needed for constant evaluation\iref{expr.const}, or
16101610
when it is explicitly defaulted after its first declaration.
16111611
\begin{note}
16121612
The copy/move constructor is implicitly defined even if the implementation elided
1613-
its odr-use\iref{term.odr.use,class.temporary}.
1613+
its odr-use\iref{term.odr-use,class.temporary}.
16141614
\end{note}
16151615
If the implicitly-defined constructor would satisfy the requirements of a
16161616
constexpr constructor\iref{dcl.constexpr}, the implicitly-defined
@@ -1908,7 +1908,7 @@
19081908
that is defaulted and not defined as deleted
19091909
is
19101910
\term{implicitly defined}
1911-
when it is odr-used\iref{term.odr.use}
1911+
when it is \termrefx{odr-used}{odr-use}
19121912
(e.g., when it is selected by overload resolution
19131913
to assign to an object of its class type),
19141914
when it is needed for constant evaluation\iref{expr.const}, or
@@ -2066,7 +2066,7 @@
20662066
The program is ill-formed if overload resolution fails.
20672067
Destructor selection does not constitute
20682068
a reference to,
2069-
or odr-use\iref{term.odr.use} of,
2069+
or \termref{odr-use} of,
20702070
the selected destructor,
20712071
and in particular,
20722072
the selected destructor may be deleted\iref{dcl.fct.def.delete}.
@@ -2141,7 +2141,7 @@
21412141
that is defaulted and not defined as deleted
21422142
is
21432143
\defnx{implicitly defined}{destructor!implicitly defined}
2144-
when it is odr-used\iref{term.odr.use}
2144+
when it is \termrefx{odr-used}{odr-use}
21452145
or when it is explicitly defaulted after its first declaration.
21462146

21472147
\pnum
@@ -2780,7 +2780,7 @@
27802780
\grammarterm{initializer-clause} that is an \grammarterm{assignment-expression}
27812781
is a constant expression\iref{expr.const}.
27822782
The member shall still be defined in a namespace scope if
2783-
it is odr-used\iref{term.odr.use} in the program and the
2783+
it is \termrefx{odr-used}{odr-use} in the program and the
27842784
namespace scope definition shall not contain an \grammarterm{initializer}.
27852785
The declaration of an inline static data member (which is a definition)
27862786
may specify a \grammarterm{brace-or-equal-initializer}. If the
@@ -2792,7 +2792,7 @@
27922792
\pnum
27932793
\begin{note}
27942794
There is exactly one definition of a static data member
2795-
that is odr-used\iref{term.odr.use} in a valid program.
2795+
that is \termrefx{odr-used}{odr-use} in a valid program.
27962796
\end{note}
27972797

27982798
\pnum
@@ -3381,7 +3381,7 @@
33813381
called a \defnadj{local}{class}.
33823382
\begin{note}
33833383
A declaration in a local class
3384-
cannot odr-use\iref{term.odr.use}
3384+
cannot \termref{odr-use}
33853385
a local entity
33863386
from an
33873387
enclosing scope.

source/declarations.tex

+6-6
Original file line numberDiff line numberDiff line change
@@ -1580,8 +1580,8 @@
15801580
\item otherwise, \tcode{decltype($E$)} is the type of $E$.
15811581
\end{itemize}
15821582

1583-
The operand of the \keyword{decltype} specifier is an unevaluated
1584-
operand\iref{term.unevaluated.operand}.
1583+
The operand of the \keyword{decltype} specifier is
1584+
an \termref{unevaluated operand}.
15851585

15861586
\begin{example}
15871587
\begin{codeblock}
@@ -4124,7 +4124,7 @@
41244124

41254125
\pnum
41264126
\begin{note}
4127-
A local variable cannot be odr-used\iref{term.odr.use}
4127+
A local variable cannot be \termrefx{odr-used}{odr-use}
41284128
in a default argument.
41294129
\end{note}
41304130
\begin{example}
@@ -4171,7 +4171,7 @@
41714171
int f(int a, int b = a); // error: parameter \tcode{a} used as default argument
41724172
typedef int I;
41734173
int g(float I, int b = I(2)); // error: parameter \tcode{I} found
4174-
int h(int a, int b = sizeof(a)); // OK, unevaluated operand\iref{term.unevaluated.operand}
4174+
int h(int a, int b = sizeof(a)); // OK, \termref{unevaluated operand}
41754175
\end{codeblock}
41764176
\end{example}
41774177
A non-static member shall not appear in a default argument unless it appears as
@@ -6182,7 +6182,7 @@
61826182
Implementations are
61836183
permitted to provide additional predefined variables with names that are reserved to the
61846184
implementation\iref{lex.name}. If a predefined variable is not
6185-
odr-used\iref{term.odr.use}, its string value need not be present in the program image.
6185+
\termrefx{odr-used}{odr-use}, its string value need not be present in the program image.
61866186
\end{footnote}
61876187
\begin{example}
61886188
\begin{codeblock}
@@ -6341,7 +6341,7 @@
63416341
function. It applies even for references in expressions that are not
63426342
potentially-evaluated. For an overload set, only the
63436343
function selected by overload resolution is referenced. The implicit
6344-
odr-use\iref{term.odr.use} of a virtual function does not, by itself,
6344+
\termref{odr-use} of a virtual function does not, by itself,
63456345
constitute a reference.
63466346
\end{note}
63476347

source/exceptions.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,7 @@
941941
\item in an expression, the function is selected by
942942
overload resolution\iref{over.match,over.over};
943943

944-
\item the function is odr-used\iref{term.odr.use} or, if it appears in an
944+
\item the function is \termrefx{odr-used}{odr-use} or, if it appears in an
945945
unevaluated operand, would be odr-used if the expression were
946946
potentially-evaluated;
947947

source/expressions.tex

+13-13
Original file line numberDiff line numberDiff line change
@@ -1385,7 +1385,7 @@
13851385
In the declaration of \tcode{p2},
13861386
those constraints are required to be satisfied
13871387
even though
1388-
\tcode{f} is an unevaluated operand\iref{term.unevaluated.operand}.
1388+
\tcode{f} is an \termref{unevaluated operand}.
13891389
\end{example}
13901390
\end{note}
13911391

@@ -2368,7 +2368,7 @@
23682368

23692369
\pnum
23702370
An entity is \defn{captured} if it is captured explicitly or implicitly. An entity
2371-
captured by a \grammarterm{lambda-expression} is odr-used\iref{term.odr.use} by
2371+
captured by a \grammarterm{lambda-expression} is \termrefx{odr-used}{odr-use} by
23722372
the \grammarterm{lambda-expression}.
23732373
\begin{note}
23742374
As a consequence, if a \grammarterm{lambda-expression}
@@ -2473,7 +2473,7 @@
24732473

24742474
\pnum
24752475
Every \grammarterm{id-expression} within the \grammarterm{compound-statement} of a
2476-
\grammarterm{lambda-expression} that is an odr-use\iref{term.odr.use} of an
2476+
\grammarterm{lambda-expression} that is an \termref{odr-use} of an
24772477
entity captured by copy is transformed into an access to the corresponding unnamed data
24782478
member of the closure type.
24792479
\begin{note}
@@ -2725,7 +2725,7 @@
27252725
A \grammarterm{requires-expression} is a prvalue of type \tcode{bool}
27262726
whose value is described below.
27272727
Expressions appearing within a \grammarterm{requirement-body}
2728-
are unevaluated operands\iref{term.unevaluated.operand}.
2728+
are \termrefx{unevaluated operands}{unevaluated.operand}.
27292729

27302730
\pnum
27312731
\begin{example}
@@ -2812,7 +2812,7 @@
28122812
\begin{note}
28132813
The enclosing \grammarterm{requires-expression} will evaluate to \keyword{false}
28142814
if substitution of template arguments into the \grammarterm{expression} fails.
2815-
The \grammarterm{expression} is an unevaluated operand\iref{term.unevaluated.operand}.
2815+
The \grammarterm{expression} is an \termref{unevaluated operand}.
28162816
\end{note}
28172817
\begin{example}
28182818
\begin{codeblock}
@@ -2987,7 +2987,7 @@
29872987
\end{example}
29882988

29892989
\pnum
2990-
A local parameter shall only appear as an unevaluated operand\iref{term.unevaluated.operand}
2990+
A local parameter shall only appear as an \termref{unevaluated operand}
29912991
within the \grammarterm{constraint-expression}.
29922992
\begin{example}
29932993
\begin{codeblock}
@@ -3805,7 +3805,7 @@
38053805
If the expression is a prvalue,
38063806
the temporary materialization conversion\iref{conv.rval}
38073807
is applied.
3808-
The expression is an unevaluated operand\iref{term.unevaluated.operand}.
3808+
The expression is an \termref{unevaluated operand}.
38093809

38103810
\pnum
38113811
When \keyword{typeid} is applied to a \grammarterm{type-id}, the result
@@ -4800,7 +4800,7 @@
48004800
The \keyword{sizeof} operator yields the number of bytes
48014801
occupied by a non-potentially-overlapping object of the type
48024802
of its operand. The operand is either an expression,
4803-
which is an unevaluated operand\iref{term.unevaluated.operand}, or a parenthesized
4803+
which is an \termref{unevaluated operand}, or a parenthesized
48044804
\grammarterm{type-id}.
48054805
\indextext{type!incomplete}%
48064806
The \keyword{sizeof} operator shall not be applied to an expression that
@@ -4915,7 +4915,7 @@
49154915
\indextext{\idxcode{noexcept}}%
49164916
\indextext{expression!\idxcode{noexcept}}%
49174917
The \keyword{noexcept} operator determines whether the evaluation of its operand,
4918-
which is an unevaluated operand\iref{term.unevaluated.operand}, can throw an
4918+
which is an \termref{unevaluated operand}, can throw an
49194919
exception\iref{except.throw}.
49204920

49214921
\begin{bnf}
@@ -7039,7 +7039,7 @@
70397039
A simple assignment whose left operand is of
70407040
a volatile-qualified type is deprecated\iref{depr.volatile.type}
70417041
unless the (possibly parenthesized) assignment is a discarded-value expression or
7042-
an unevaluated operand\iref{term.unevaluated.operand}.
7042+
an \termref{unevaluated operand}.
70437043

70447044
\pnum
70457045
The behavior of an expression of the form \tcode{E1 \placeholder{op}= E2}
@@ -7295,7 +7295,7 @@
72957295
a reference to \keyword{this} or to a variable with
72967296
automatic storage duration defined outside that
72977297
\grammarterm{lambda-expression}, where
7298-
the reference would be an odr-use\iref{term.odr.use,expr.prim.lambda};
7298+
the reference would be an odr-use\iref{term.odr-use,expr.prim.lambda};
72997299
\begin{example}
73007300
\begin{codeblock}
73017301
void g() {
@@ -7666,7 +7666,7 @@
76667666
\end{itemize}
76677667
\begin{note}
76687668
A manifestly constant-evaluated expression
7669-
is evaluated even in an unevaluated operand\iref{term.unevaluated.operand}.
7669+
is evaluated even in an \termref{unevaluated operand}.
76707670
\end{note}
76717671

76727672
\pnum
@@ -7696,7 +7696,7 @@
76967696

76977697
\item
76987698
a subexpression of one of the above
7699-
that is not a subexpression of a nested unevaluated operand\iref{term.unevaluated.operand}.
7699+
that is not a subexpression of a nested \termref{unevaluated operand}.
77007700
\end{itemize}
77017701

77027702
\indextext{function!needed for constant evaluation}%

source/future.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1505,7 +1505,7 @@
15051505
\pnum
15061506
Let \tcode{TS} denote \tcode{tuple_size<T>} of the cv-unqualified type \tcode{T}.
15071507
If the expression \tcode{TS::value} is well-formed
1508-
when treated as an unevaluated operand\iref{term.unevaluated.operand},
1508+
when treated as an \termref{unevaluated operand},
15091509
then specializations of each of the two templates meet
15101510
the \oldconcept{TransformationTrait} requirements with a base characteristic of
15111511
\tcode{integral_constant<size_t, TS::value>}.

source/iostreams.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -5669,7 +5669,7 @@
56695669
\pnum
56705670
\constraints
56715671
The expression \tcode{is >> std::forward<T>(x)} is well-formed
5672-
when treated as an unevaluated operand\iref{term.unevaluated.operand} and
5672+
when treated as an \termref{unevaluated operand} and
56735673
\tcode{Istream} is publicly and unambiguously derived from \tcode{ios_base}.
56745674

56755675
\pnum

source/ranges.tex

+5-5
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@
528528
\tcode{ranges::begin(E)} is ill-formed.
529529

530530
\item
531-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
531+
Otherwise, if \tcode{T} is an \termref{array type} and
532532
\tcode{remove_all_extents_t<T>} is an incomplete type,
533533
\tcode{ranges::begin(E)} is ill-formed with no diagnostic required.
534534

@@ -594,7 +594,7 @@
594594
\tcode{ranges::end(E)} is ill-formed.
595595

596596
\item
597-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
597+
Otherwise, if \tcode{T} is an \termref{array type} and
598598
\tcode{remove_all_extents_t<T>} is an incomplete type,
599599
\tcode{ranges::end(E)} is ill-formed with no diagnostic required.
600600

@@ -707,7 +707,7 @@
707707
\tcode{ranges::rbegin(E)} is ill-formed.
708708

709709
\item
710-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
710+
Otherwise, if \tcode{T} is an \termref{array type} and
711711
\tcode{remove_all_extents_t<T>} is an incomplete type,
712712
\tcode{ranges::rbegin(E)} is ill-formed with no diagnostic required.
713713

@@ -776,7 +776,7 @@
776776
\tcode{ranges::rend(E)} is ill-formed.
777777

778778
\item
779-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
779+
Otherwise, if \tcode{T} is an \termref{array type} and
780780
\tcode{remove_all_extents_t<T>} is an incomplete type,
781781
\tcode{ranges::rend(E)} is ill-formed with no diagnostic required.
782782

@@ -1031,7 +1031,7 @@
10311031
\tcode{ranges::data(E)} is ill-formed.
10321032

10331033
\item
1034-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
1034+
Otherwise, if \tcode{T} is an \termref{array type} and
10351035
\tcode{remove_all_extents_t<T>} is an incomplete type,
10361036
\tcode{ranges::data(E)} is ill-formed with no diagnostic required.
10371037

source/statements.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@
268268
\end{codeblock}
269269
\end{example}
270270
\begin{note}
271-
Odr-uses\iref{term.odr.use} in a discarded statement do not require
271+
\termrefx{Odr-uses}{odr-use} in a discarded statement do not require
272272
an entity to be defined.
273273
\end{note}
274274
A \keyword{case} or \keyword{default} label appearing within such an

source/support.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -5874,7 +5874,7 @@
58745874
initialization of a variable with static storage duration
58755875
requiring dynamic initialization\iref{basic.start.dynamic,stmt.dcl}
58765876
\begin{footnote}
5877-
Such initialization can occur because it is the first odr-use\iref{term.odr.use} of that variable.
5877+
Such initialization can occur because it is the first \termref{odr-use} of that variable.
58785878
\end{footnote}
58795879
; or
58805880

0 commit comments

Comments
 (0)