Skip to content

Commit b51f132

Browse files
committed
[std] Use \termref throughout
1 parent e455ddb commit b51f132

15 files changed

+64
-65
lines changed

source/algorithms.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -10827,7 +10827,7 @@
1082710827
\pnum
1082810828
\constraints
1082910829
The expression \tcode{::new (declval<void*>()) T(declval<Args>()...)}
10830-
is well-formed when treated as an unevaluated operand\iref{term.unevaluated.operand}.
10830+
is well-formed when treated as an \termref{unevaluated operand}.
1083110831

1083210832
\pnum
1083310833
\effects

source/basic.tex

+3-4
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,6 @@
426426
\end{itemize}
427427

428428
\pnum
429-
\label{term.odr.use}%
430429
A variable is named by an expression
431430
if the expression is an \grammarterm{id-expression} that denotes it.
432431
A variable \tcode{x} whose name appears as a
@@ -2857,7 +2856,7 @@
28572856
\item
28582857
any reference to a non-volatile const object or reference
28592858
with internal or no linkage initialized with a constant expression
2860-
that is not an odr-use\iref{term.odr.use},
2859+
that is not an \termref{odr-use},
28612860
\end{itemize}
28622861
or defines a constexpr variable initialized to a TU-local value (defined below).
28632862
\begin{note}
@@ -6545,7 +6544,7 @@
65456544
\pnum
65466545
\indextext{non-initialization odr-use|see{odr-use, non-initialization}}%
65476546
A \defnx{non-initialization odr-use}{odr-use!non-initialization}
6548-
is an odr-use\iref{term.odr.use} not caused directly or indirectly by
6547+
is an \termref{odr-use} not caused directly or indirectly by
65496548
the initialization of a non-block static or thread storage duration variable.
65506549

65516550
\pnum
@@ -6562,7 +6561,7 @@
65626561
A non-block variable with static storage duration
65636562
having initialization
65646563
with side effects is initialized in this case,
6565-
even if it is not itself odr-used~(\ref{term.odr.use}, \ref{basic.stc.static}).
6564+
even if it is not itself odr-used~(\ref{term.odr-use}, \ref{basic.stc.static}).
65666565
\end{footnote}
65676566
It is \impldef{threads and program points at which deferred dynamic initialization is performed}
65686567
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~(\ref{term.odr.use}, \ref{class.temporary}).
1613+
its odr-use~(\ref{term.odr-use}, \ref{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
@@ -2748,7 +2748,7 @@
27482748
\grammarterm{initializer-clause} that is an \grammarterm{assignment-expression}
27492749
is a constant expression\iref{expr.const}.
27502750
The member shall still be defined in a namespace scope if
2751-
it is odr-used\iref{term.odr.use} in the program and the
2751+
it is \termrefx{odr-used}{odr-use} in the program and the
27522752
namespace scope definition shall not contain an \grammarterm{initializer}.
27532753
The declaration of an inline static data member (which is a definition)
27542754
may specify a \grammarterm{brace-or-equal-initializer}. If the
@@ -2760,7 +2760,7 @@
27602760
\pnum
27612761
\begin{note}
27622762
There is exactly one definition of a static data member
2763-
that is odr-used\iref{term.odr.use} in a valid program.
2763+
that is \termrefx{odr-used}{odr-use} in a valid program.
27642764
\end{note}
27652765

27662766
\pnum
@@ -3206,7 +3206,7 @@
32063206
called a \defnadj{local}{class}.
32073207
\begin{note}
32083208
A declaration in a local class
3209-
cannot odr-use\iref{term.odr.use}
3209+
cannot \termref{odr-use}
32103210
a local entity
32113211
from an
32123212
enclosing scope.

source/declarations.tex

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

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

15871587
\begin{example}
15881588
\begin{codeblock}
@@ -4125,7 +4125,7 @@
41254125

41264126
\pnum
41274127
\begin{note}
4128-
A local variable cannot be odr-used\iref{term.odr.use}
4128+
A local variable cannot be \termrefx{odr-used}{odr-use}
41294129
in a default argument.
41304130
\end{note}
41314131
\begin{example}
@@ -4172,7 +4172,7 @@
41724172
int f(int a, int b = a); // error: parameter \tcode{a} used as default argument
41734173
typedef int I;
41744174
int g(float I, int b = I(2)); // error: parameter \tcode{I} found
4175-
int h(int a, int b = sizeof(a)); // OK, unevaluated operand\iref{term.unevaluated.operand}
4175+
int h(int a, int b = sizeof(a)); // OK, \termref{unevaluated operand}
41764176
\end{codeblock}
41774177
\end{example}
41784178
A non-static member shall not appear in a default argument unless it appears as
@@ -6184,7 +6184,7 @@
61846184
Implementations are
61856185
permitted to provide additional predefined variables with names that are reserved to the
61866186
implementation\iref{lex.name}. If a predefined variable is not
6187-
odr-used\iref{term.odr.use}, its string value need not be present in the program image.
6187+
\termrefx{odr-used}{odr-use}, its string value need not be present in the program image.
61886188
\end{footnote}
61896189
\begin{example}
61906190
\begin{codeblock}
@@ -6344,7 +6344,7 @@
63446344
function. It applies even for references in expressions that are not
63456345
potentially-evaluated. For an overload set, only the
63466346
function selected by overload resolution is referenced. The implicit
6347-
odr-use\iref{term.odr.use} of a virtual function does not, by itself,
6347+
\termref{odr-use} of a virtual function does not, by itself,
63486348
constitute a reference.
63496349
\end{note}
63506350

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~(\ref{over.match}, \ref{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
@@ -1386,7 +1386,7 @@
13861386
In the declaration of \tcode{p2},
13871387
those constraints are required to be satisfied
13881388
even though
1389-
\tcode{f} is an unevaluated operand\iref{term.unevaluated.operand}.
1389+
\tcode{f} is an \termref{unevaluated operand}.
13901390
\end{example}
13911391
\end{note}
13921392

@@ -2339,7 +2339,7 @@
23392339

23402340
\pnum
23412341
An entity is \defn{captured} if it is captured explicitly or implicitly. An entity
2342-
captured by a \grammarterm{lambda-expression} is odr-used\iref{term.odr.use} by
2342+
captured by a \grammarterm{lambda-expression} is \termrefx{odr-used}{odr-use} by
23432343
the \grammarterm{lambda-expression}.
23442344
\begin{note}
23452345
As a consequence, if a \grammarterm{lambda-expression}
@@ -2444,7 +2444,7 @@
24442444

24452445
\pnum
24462446
Every \grammarterm{id-expression} within the \grammarterm{compound-statement} of a
2447-
\grammarterm{lambda-expression} that is an odr-use\iref{term.odr.use} of an
2447+
\grammarterm{lambda-expression} that is an \termref{odr-use} of an
24482448
entity captured by copy is transformed into an access to the corresponding unnamed data
24492449
member of the closure type.
24502450
\begin{note}
@@ -2696,7 +2696,7 @@
26962696
A \grammarterm{requires-expression} is a prvalue of type \tcode{bool}
26972697
whose value is described below.
26982698
Expressions appearing within a \grammarterm{requirement-body}
2699-
are unevaluated operands\iref{term.unevaluated.operand}.
2699+
are \termrefx{unevaluated operands}{unevaluated.operand}.
27002700

27012701
\pnum
27022702
\begin{example}
@@ -2783,7 +2783,7 @@
27832783
\begin{note}
27842784
The enclosing \grammarterm{requires-expression} will evaluate to \keyword{false}
27852785
if substitution of template arguments into the \grammarterm{expression} fails.
2786-
The \grammarterm{expression} is an unevaluated operand\iref{term.unevaluated.operand}.
2786+
The \grammarterm{expression} is an \termref{unevaluated operand}.
27872787
\end{note}
27882788
\begin{example}
27892789
\begin{codeblock}
@@ -2958,7 +2958,7 @@
29582958
\end{example}
29592959

29602960
\pnum
2961-
A local parameter shall only appear as an unevaluated operand\iref{term.unevaluated.operand}
2961+
A local parameter shall only appear as an \termref{unevaluated operand}
29622962
within the \grammarterm{constraint-expression}.
29632963
\begin{example}
29642964
\begin{codeblock}
@@ -3776,7 +3776,7 @@
37763776
If the expression is a prvalue,
37773777
the temporary materialization conversion\iref{conv.rval}
37783778
is applied.
3779-
The expression is an unevaluated operand\iref{term.unevaluated.operand}.
3779+
The expression is an \termref{unevaluated operand}.
37803780

37813781
\pnum
37823782
When \keyword{typeid} is applied to a \grammarterm{type-id}, the result
@@ -4768,7 +4768,7 @@
47684768
The \keyword{sizeof} operator yields the number of bytes
47694769
occupied by a non-potentially-overlapping object of the type
47704770
of its operand. The operand is either an expression,
4771-
which is an unevaluated operand\iref{term.unevaluated.operand}, or a parenthesized
4771+
which is an \termref{unevaluated operand}, or a parenthesized
47724772
\grammarterm{type-id}.
47734773
\indextext{type!incomplete}%
47744774
The \keyword{sizeof} operator shall not be applied to an expression that
@@ -4883,7 +4883,7 @@
48834883
\indextext{\idxcode{noexcept}}%
48844884
\indextext{expression!\idxcode{noexcept}}%
48854885
The \keyword{noexcept} operator determines whether the evaluation of its operand,
4886-
which is an unevaluated operand\iref{term.unevaluated.operand}, can throw an
4886+
which is an \termref{unevaluated operand}, can throw an
48874887
exception\iref{except.throw}.
48884888

48894889
\begin{bnf}
@@ -7007,7 +7007,7 @@
70077007
A simple assignment whose left operand is of
70087008
a volatile-qualified type is deprecated\iref{depr.volatile.type}
70097009
unless the (possibly parenthesized) assignment is a discarded-value expression or
7010-
an unevaluated operand\iref{term.unevaluated.operand}.
7010+
an \termref{unevaluated operand}.
70117011

70127012
\pnum
70137013
The behavior of an expression of the form \tcode{E1 \placeholder{op}= E2}
@@ -7263,7 +7263,7 @@
72637263
a reference to \keyword{this} or to a variable with
72647264
automatic storage duration defined outside that
72657265
\grammarterm{lambda-expression}, where
7266-
the reference would be an odr-use~(\ref{term.odr.use}, \ref{expr.prim.lambda});
7266+
the reference would be an odr-use~(\ref{term.odr-use}, \ref{expr.prim.lambda});
72677267
\begin{example}
72687268
\begin{codeblock}
72697269
void g() {
@@ -7632,7 +7632,7 @@
76327632
\end{itemize}
76337633
\begin{note}
76347634
A manifestly constant-evaluated expression
7635-
is evaluated even in an unevaluated operand\iref{term.unevaluated.operand}.
7635+
is evaluated even in an \termref{unevaluated operand}.
76367636
\end{note}
76377637

76387638
\pnum
@@ -7662,7 +7662,7 @@
76627662

76637663
\item
76647664
a subexpression of one of the above
7665-
that is not a subexpression of a nested unevaluated operand\iref{term.unevaluated.operand}.
7665+
that is not a subexpression of a nested \termref{unevaluated operand}.
76667666
\end{itemize}
76677667

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

source/future.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1427,7 +1427,7 @@
14271427
\pnum
14281428
Let \tcode{TS} denote \tcode{tuple_size<T>} of the cv-unqualified type \tcode{T}.
14291429
If the expression \tcode{TS::value} is well-formed
1430-
when treated as an unevaluated operand\iref{term.unevaluated.operand},
1430+
when treated as an \termref{unevaluated operand},
14311431
then specializations of each of the two templates meet
14321432
the \oldconcept{TransformationTrait} requirements with a base characteristic of
14331433
\tcode{integral_constant<size_t, TS::value>}.

source/iostreams.tex

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

56795679
\pnum

source/ranges.tex

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

467467
\item
468-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
468+
Otherwise, if \tcode{T} is an \termref{array type} and
469469
\tcode{remove_all_extents_t<T>} is an incomplete type,
470470
\tcode{ranges::begin(E)} is ill-formed with no diagnostic required.
471471

@@ -531,7 +531,7 @@
531531
\tcode{ranges::end(E)} is ill-formed.
532532

533533
\item
534-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
534+
Otherwise, if \tcode{T} is an \termref{array type} and
535535
\tcode{remove_all_extents_t<T>} is an incomplete type,
536536
\tcode{ranges::end(E)} is ill-formed with no diagnostic required.
537537

@@ -644,7 +644,7 @@
644644
\tcode{ranges::rbegin(E)} is ill-formed.
645645

646646
\item
647-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
647+
Otherwise, if \tcode{T} is an \termref{array type} and
648648
\tcode{remove_all_extents_t<T>} is an incomplete type,
649649
\tcode{ranges::rbegin(E)} is ill-formed with no diagnostic required.
650650

@@ -713,7 +713,7 @@
713713
\tcode{ranges::rend(E)} is ill-formed.
714714

715715
\item
716-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
716+
Otherwise, if \tcode{T} is an \termref{array type} and
717717
\tcode{remove_all_extents_t<T>} is an incomplete type,
718718
\tcode{ranges::rend(E)} is ill-formed with no diagnostic required.
719719

@@ -968,7 +968,7 @@
968968
\tcode{ranges::data(E)} is ill-formed.
969969

970970
\item
971-
Otherwise, if \tcode{T} is an array type\iref{term.array.type} and
971+
Otherwise, if \tcode{T} is an \termref{array type} and
972972
\tcode{remove_all_extents_t<T>} is an incomplete type,
973973
\tcode{ranges::data(E)} is ill-formed with no diagnostic required.
974974

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
@@ -5858,7 +5858,7 @@
58585858
initialization of a variable with static storage duration
58595859
requiring dynamic initialization~(\ref{basic.start.dynamic}, \ref{stmt.dcl})
58605860
\begin{footnote}
5861-
Such initialization can occur because it is the first odr-use\iref{term.odr.use} of that variable.
5861+
Such initialization can occur because it is the first \termref{odr-use} of that variable.
58625862
\end{footnote}
58635863
; or
58645864

0 commit comments

Comments
 (0)