Skip to content

Commit e6bf77e

Browse files
committed
[std] Use \termref throughout
1 parent 079fbab commit e6bf77e

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}
@@ -6551,7 +6550,7 @@
65516550
\pnum
65526551
\indextext{non-initialization odr-use|see{odr-use, non-initialization}}%
65536552
A \defnx{non-initialization odr-use}{odr-use!non-initialization}
6554-
is an odr-use\iref{term.odr.use} not caused directly or indirectly by
6553+
is an \termref{odr-use} not caused directly or indirectly by
65556554
the initialization of a non-block static or thread storage duration variable.
65566555

65576556
\pnum
@@ -6568,7 +6567,7 @@
65686567
A non-block variable with static storage duration
65696568
having initialization
65706569
with side effects is initialized in this case,
6571-
even if it is not itself odr-used~(\ref{term.odr.use}, \ref{basic.stc.static}).
6570+
even if it is not itself odr-used~(\ref{term.odr-use}, \ref{basic.stc.static}).
65726571
\end{footnote}
65736572
It is \impldef{threads and program points at which deferred dynamic initialization is performed}
65746573
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
@@ -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
@@ -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

@@ -2370,7 +2370,7 @@
23702370

23712371
\pnum
23722372
An entity is \defn{captured} if it is captured explicitly or implicitly. An entity
2373-
captured by a \grammarterm{lambda-expression} is odr-used\iref{term.odr.use} by
2373+
captured by a \grammarterm{lambda-expression} is \termrefx{odr-used}{odr-use} by
23742374
the \grammarterm{lambda-expression}.
23752375
\begin{note}
23762376
As a consequence, if a \grammarterm{lambda-expression}
@@ -2475,7 +2475,7 @@
24752475

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

27322732
\pnum
27332733
\begin{example}
@@ -2814,7 +2814,7 @@
28142814
\begin{note}
28152815
The enclosing \grammarterm{requires-expression} will evaluate to \keyword{false}
28162816
if substitution of template arguments into the \grammarterm{expression} fails.
2817-
The \grammarterm{expression} is an unevaluated operand\iref{term.unevaluated.operand}.
2817+
The \grammarterm{expression} is an \termref{unevaluated operand}.
28182818
\end{note}
28192819
\begin{example}
28202820
\begin{codeblock}
@@ -2989,7 +2989,7 @@
29892989
\end{example}
29902990

29912991
\pnum
2992-
A local parameter shall only appear as an unevaluated operand\iref{term.unevaluated.operand}
2992+
A local parameter shall only appear as an \termref{unevaluated operand}
29932993
within the \grammarterm{constraint-expression}.
29942994
\begin{example}
29952995
\begin{codeblock}
@@ -3807,7 +3807,7 @@
38073807
If the expression is a prvalue,
38083808
the temporary materialization conversion\iref{conv.rval}
38093809
is applied.
3810-
The expression is an unevaluated operand\iref{term.unevaluated.operand}.
3810+
The expression is an \termref{unevaluated operand}.
38113811

38123812
\pnum
38133813
When \keyword{typeid} is applied to a \grammarterm{type-id}, the result
@@ -4799,7 +4799,7 @@
47994799
The \keyword{sizeof} operator yields the number of bytes
48004800
occupied by a non-potentially-overlapping object of the type
48014801
of its operand. The operand is either an expression,
4802-
which is an unevaluated operand\iref{term.unevaluated.operand}, or a parenthesized
4802+
which is an \termref{unevaluated operand}, or a parenthesized
48034803
\grammarterm{type-id}.
48044804
\indextext{type!incomplete}%
48054805
The \keyword{sizeof} operator shall not be applied to an expression that
@@ -4914,7 +4914,7 @@
49144914
\indextext{\idxcode{noexcept}}%
49154915
\indextext{expression!\idxcode{noexcept}}%
49164916
The \keyword{noexcept} operator determines whether the evaluation of its operand,
4917-
which is an unevaluated operand\iref{term.unevaluated.operand}, can throw an
4917+
which is an \termref{unevaluated operand}, can throw an
49184918
exception\iref{except.throw}.
49194919

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

70437043
\pnum
70447044
The behavior of an expression of the form \tcode{E1 \placeholder{op}= E2}
@@ -7294,7 +7294,7 @@
72947294
a reference to \keyword{this} or to a variable with
72957295
automatic storage duration defined outside that
72967296
\grammarterm{lambda-expression}, where
7297-
the reference would be an odr-use~(\ref{term.odr.use}, \ref{expr.prim.lambda});
7297+
the reference would be an odr-use~(\ref{term.odr-use}, \ref{expr.prim.lambda});
72987298
\begin{example}
72997299
\begin{codeblock}
73007300
void g() {
@@ -7667,7 +7667,7 @@
76677667
\end{itemize}
76687668
\begin{note}
76697669
A manifestly constant-evaluated expression
7670-
is evaluated even in an unevaluated operand\iref{term.unevaluated.operand}.
7670+
is evaluated even in an \termref{unevaluated operand}.
76717671
\end{note}
76727672

76737673
\pnum
@@ -7697,7 +7697,7 @@
76977697

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

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

source/future.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -1504,7 +1504,7 @@
15041504
\pnum
15051505
Let \tcode{TS} denote \tcode{tuple_size<T>} of the cv-unqualified type \tcode{T}.
15061506
If the expression \tcode{TS::value} is well-formed
1507-
when treated as an unevaluated operand\iref{term.unevaluated.operand},
1507+
when treated as an \termref{unevaluated operand},
15081508
then specializations of each of the two templates meet
15091509
the \oldconcept{TransformationTrait} requirements with a base characteristic of
15101510
\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
@@ -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
@@ -5871,7 +5871,7 @@
58715871
initialization of a variable with static storage duration
58725872
requiring dynamic initialization~(\ref{basic.start.dynamic}, \ref{stmt.dcl})
58735873
\begin{footnote}
5874-
Such initialization can occur because it is the first odr-use\iref{term.odr.use} of that variable.
5874+
Such initialization can occur because it is the first \termref{odr-use} of that variable.
58755875
\end{footnote}
58765876
; or
58775877

0 commit comments

Comments
 (0)