Skip to content

Commit c54cf0d

Browse files
author
Dawn Perchik
committed
[expr] Add missing indexes for definitions, and make others consistent.
Indexes were added for the following definitions: [expr.const] constant expression [expr.const] core constant expression [expr.const] integral constant expression [expr.const] converted constant expression [gram.expr] built-in operators [expr.call] virtual function call [expr.call] default argument promotion [expr.new] allocated type [expr.prim.lambda] implicit capture
1 parent 283dae5 commit c54cf0d

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

source/expressions.tex

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
\pnum
4444
Clause~\ref{expr} defines the effects of operators when applied to types
4545
for which they have not been overloaded. Operator overloading shall not
46-
modify the rules for the \term{built-in operators}, that
47-
is, for operators applied to types for which they are defined by this
46+
modify the rules for the \defnx{built-in operators}{operators!built-in},
47+
that is, for operators applied to types for which they are defined by this
4848
Standard. However, these built-in operators participate in overload
4949
resolution, and as part of that process user-defined conversions will be
5050
considered where necessary to convert the operands to types appropriate
@@ -238,8 +238,7 @@
238238
and~\ref{expr.ass}.}
239239

240240
\pnum
241-
\indextext{type!cv-combined}%
242-
The \term{cv-combined type} of two types \tcode{T1} and \tcode{T2}
241+
The \defnx{cv-combined type}{type!cv-combined} of two types \tcode{T1} and \tcode{T2}
243242
is a type \tcode{T3}
244243
similar to \tcode{T1} whose cv-qualification signature~(\ref{conv.qual}) is:
245244
\begin{itemize}
@@ -926,7 +925,8 @@
926925
a variable with automatic storage duration (this excludes any \grammarterm{id-expression}
927926
that has been found to refer to an \grammarterm{init-capture}{'s} associated
928927
\indextext{implicit capture!definition of}%
929-
non-static data member), is said to \term{implicitly capture} the entity (i.e.,
928+
non-static data member), is said to \defnx{implicitly capture}{capture!implicit}
929+
the entity (i.e.,
930930
\tcode{this} or a variable) if the \grammarterm{compound-statement}:
931931
\begin{itemize}
932932
\item odr-uses~(\ref{basic.def.odr}) the entity, or
@@ -1021,7 +1021,7 @@
10211021
\exitexample
10221022

10231023
\pnum
1024-
An entity is \indexdefn{captured!by copy}\term{captured by copy} if it is implicitly captured and the
1024+
An entity is \defnx{captured by copy}{captured!by~copy} if it is implicitly captured and the
10251025
\grammarterm{capture-default} is \tcode{=} or if it is explicitly captured with a
10261026
capture that is not of the form \tcode{\&} \grammarterm{identifier} or
10271027
\tcode{\&} \grammarterm{identifier} \grammarterm{initializer}.
@@ -1034,7 +1034,7 @@
10341034
A member of an anonymous union shall not be captured by copy.
10351035

10361036
\pnum
1037-
An entity is \indexdefn{captured!by reference}\term{captured by reference} if it is implicitly or explicitly
1037+
An entity is \defnx{captured by reference}{captured!by~reference} if it is implicitly or explicitly
10381038
captured but not captured by copy. It is unspecified whether additional unnamed
10391039
non-static data members are declared in the closure type for entities captured by
10401040
reference. A member of an anonymous union shall not be captured by reference.
@@ -1357,7 +1357,7 @@
13571357
member access expression is a \grammarterm{qualified-id}, that function is
13581358
called. Otherwise, its final overrider~(\ref{class.virtual}) in the dynamic type
13591359
of the object expression is called; such a call is referred to as a
1360-
\term{virtual function call}.
1360+
\defnx{virtual function call}{function!virtual function~call}.
13611361
\enternote
13621362
the dynamic type is the type of the object referred to by the
13631363
current value of the object expression. \ref{class.cdtor}~describes the
@@ -1491,8 +1491,8 @@
14911491
integral or enumeration type that is subject to the integral
14921492
promotions~(\ref{conv.prom}), or a floating point type that is subject to the floating
14931493
point promotion~(\ref{conv.fpprom}), the value of the argument is converted to the
1494-
promoted type before the call. These promotions are referred to as the \term{default
1495-
argument promotions}.
1494+
promoted type before the call. These promotions are referred to as
1495+
the \defnx{default argument promotions}{promotion!default argument promotion}.
14961496

14971497
\pnum
14981498
\indextext{evaluation!order~of argument}%
@@ -2371,8 +2371,8 @@
23712371
\tcode{reinterpret_cast<T\&\&>(x)}). \exitnote No
23722372
temporary is created, no copy is made, and
23732373
constructors~(\ref{class.ctor}) or conversion
2374-
functions~(\ref{class.conv}) are not called.\footnote{\indextext{type~pun}This
2375-
is sometimes referred to as a \term{type pun}.}
2374+
functions~(\ref{class.conv}) are not called.\footnote{This
2375+
is sometimes referred to as a \defnx{type pun}{type~pun}.}
23762376

23772377
\rSec2[expr.const.cast]{Const cast}
23782378

@@ -2538,9 +2538,8 @@
25382538
\pnum
25392539
\indextext{expression!unary~operator}%
25402540
\indextext{operator!unary}%
2541-
The unary \tcode{*} operator performs \term{indirection}:
2541+
The unary \tcode{*} operator performs \defn{indirection}:
25422542
\indextext{dereferencing|seealso{indirection}}%
2543-
\indextext{indirection}%
25442543
the expression to which it is applied shall be a pointer to an object
25452544
type, or a pointer to a function type and the result is an lvalue
25462545
referring to the object or function to which the expression points. If
@@ -2800,7 +2799,7 @@
28002799
\indextext{\idxcode{new}}%
28012800
The \grammarterm{new-expression} attempts to create an object of the
28022801
\grammarterm{type-id}~(\ref{dcl.name}) or \grammarterm{new-type-id} to which
2803-
it is applied. The type of that object is the \term{allocated type}.
2802+
it is applied. The type of that object is the \defnx{allocated type}{type!allocated}.
28042803
\indextext{type!incomplete}%
28052804
This type shall be a complete object type, but not an abstract class
28062805
type or array
@@ -4651,7 +4650,8 @@
46514650
requirements as detailed in this sub-clause; other contexts have different
46524651
semantics depending on whether or not an expression satisfies these requirements.
46534652
Expressions that satisfy these requirements are called
4654-
\term{constant expressions}. \enternote Constant expressions can be evaluated
4653+
\indexdefn{expression!constant}%
4654+
\defn{constant expression}{s}. \enternote Constant expressions can be evaluated
46554655
during translation.\exitnote
46564656

46574657
\begin{bnf}
@@ -4660,7 +4660,8 @@
46604660
\end{bnf}
46614661

46624662
\pnum
4663-
A \grammarterm{conditional-expression} \tcode{e} is a \term{core constant expression}
4663+
A \grammarterm{conditional-expression} \tcode{e} is a
4664+
\defnx{core constant expression}{expression!core~constant}
46644665
unless the evaluation of \tcode{e}, following the rules of the abstract
46654666
machine~(\ref{intro.execution}), would evaluate one of the following expressions:
46664667

@@ -4837,7 +4838,8 @@
48374838
\exitexample
48384839

48394840
\pnum
4840-
An \term{integral constant expression} is an expression of integral or
4841+
An \defnx{integral constant expression}{expression!integral~constant}
4842+
is an expression of integral or
48414843
unscoped enumeration type, implicitly converted to a prvalue, where the converted expression is a core constant expression.
48424844
\enternote
48434845
Such expressions may be
@@ -4848,7 +4850,8 @@
48484850
\exitnote
48494851

48504852
\pnum
4851-
A \term{converted constant expression} of type \tcode{T} is an
4853+
A \defnx{converted constant expression}{expression!converted~constant}
4854+
of type \tcode{T} is an
48524855
expression, implicitly converted to type \tcode{T}, where
48534856
the converted expression is a constant expression and the
48544857
implicit conversion sequence contains only
@@ -4876,6 +4879,7 @@
48764879
\exitnote
48774880

48784881
\pnum
4882+
\indextext{expression!constant}%
48794883
A \term{constant expression} is either
48804884
a glvalue core constant expression whose value refers to
48814885
an entity that is a permitted result of a constant expression (as defined below), or
@@ -4894,8 +4898,9 @@
48944898
the address of a function,
48954899
or a null pointer value.
48964900
\end{itemize}
4897-
\indextext{constant expression!permitted result of}%
4898-
An entity is a \term{permitted result of a constant expression} if it is an
4901+
An entity is a
4902+
\defnx{permitted result of a constant expression}{constant expression!permitted result~of}
4903+
if it is an
48994904
object with static storage duration that is either not a temporary object or is
49004905
a temporary object whose value satisfies the above constraints, or it is a
49014906
function.

0 commit comments

Comments
 (0)