Skip to content

Commit 3493840

Browse files
committed
[std] Use $E$ as expression placeholder.
1 parent 4c6f1e8 commit 3493840

File tree

4 files changed

+104
-104
lines changed

4 files changed

+104
-104
lines changed

source/basic.tex

+24-24
Original file line numberDiff line numberDiff line change
@@ -300,38 +300,38 @@
300300
an unevaluated operand\iref{expr.prop},
301301
a subexpression thereof, or
302302
a conversion in an initialization or conversion sequence in such a context.
303-
The set of \defn{potential results} of an expression \tcode{e} is
303+
The set of \defn{potential results} of an expression $E$ is
304304
defined as follows:
305305
\begin{itemize}
306-
\item If \tcode{e} is an
306+
\item If $E$ is an
307307
\grammarterm{id-expression}\iref{expr.prim.id}, the set
308-
contains only \tcode{e}.
309-
\item If \tcode{e} is a subscripting operation\iref{expr.sub} with
308+
contains only $E$.
309+
\item If $E$ is a subscripting operation\iref{expr.sub} with
310310
an array operand, the set contains the potential results of that operand.
311-
\item If \tcode{e} is a class member access
311+
\item If $E$ is a class member access
312312
expression\iref{expr.ref} of the form
313313
\tcode{e1 . \opt{template} e2}
314314
naming a non-static data member,
315315
the set contains the potential results of \tcode{e1}.
316-
\item If \tcode{e} is a class member access expression
316+
\item If $E$ is a class member access expression
317317
naming a static data member,
318318
the set contains the \grammarterm{id-expression} designating the data member.
319-
\item If \tcode{e} is a pointer-to-member
319+
\item If $E$ is a pointer-to-member
320320
expression\iref{expr.mptr.oper} of the form
321321
\tcode{e1 .* e2},
322322
the set contains the potential results of \tcode{e1}.
323-
\item If \tcode{e} has the form \tcode{(e1)}, the set contains the
323+
\item If $E$ has the form \tcode{(e1)}, the set contains the
324324
potential results of \tcode{e1}.
325-
\item If \tcode{e} is a glvalue conditional
325+
\item If $E$ is a glvalue conditional
326326
expression\iref{expr.cond}, the set is the union of the sets of
327327
potential results of the second and third operands.
328-
\item If \tcode{e} is a comma expression\iref{expr.comma}, the set
328+
\item If $E$ is a comma expression\iref{expr.comma}, the set
329329
contains the potential results of the right operand.
330330
\item Otherwise, the set is empty.
331331
\end{itemize}
332332
\begin{note}
333333
This set is a (possibly-empty) set of \grammarterm{id-expression}{s},
334-
each of which is either \tcode{e} or a subexpression of \tcode{e}.
334+
each of which is either $E$ or a subexpression of $E$.
335335
\begin{example}
336336
In the following example, the set of potential results of the initializer
337337
of \tcode{n} contains the first \tcode{S::x} subexpression, but not the second
@@ -386,21 +386,21 @@
386386

387387
\pnum
388388
A variable \tcode{x} whose name appears as a
389-
potentially-evaluated expression \tcode{e}
390-
is \defnx{odr-used}{odr-use} by \tcode{e} unless
389+
potentially-evaluated expression $E$
390+
is \defnx{odr-used}{odr-use} by $E$ unless
391391
\begin{itemize}
392392
\item
393393
\tcode{x} is a reference that is
394394
usable in constant expressions\iref{expr.const}, or
395395
\item
396396
\tcode{x} is a variable of non-reference type that is
397397
usable in constant expressions and has no mutable subobjects, and
398-
\tcode{e} is an element of the set of potential results of an expression
398+
$E$ is an element of the set of potential results of an expression
399399
of non-volatile-qualified non-class type
400400
to which the lvalue-to-rvalue conversion\iref{conv.lval} is applied, or
401401
\item
402402
\tcode{x} is a variable of non-reference type, and
403-
\tcode{e} is an element of the set of potential results
403+
$E$ is an element of the set of potential results
404404
of a discarded-value expression\iref{expr.prop}
405405
to which the lvalue-to-rvalue conversion is not applied.
406406
\end{itemize}
@@ -5278,30 +5278,30 @@
52785278
\end{example}
52795279

52805280
\pnum
5281-
The \defnx{immediate subexpressions}{immediate subexpression} of an expression \tcode{e} are
5281+
The \defnx{immediate subexpressions}{immediate subexpression} of an expression $E$ are
52825282
\begin{itemize}
52835283
\item
5284-
the constituent expressions of \tcode{e}'s operands\iref{expr.prop},
5284+
the constituent expressions of $E$'s operands\iref{expr.prop},
52855285
\item
5286-
any function call that \tcode{e} implicitly invokes,
5286+
any function call that $E$ implicitly invokes,
52875287
\item
5288-
if \tcode{e} is a \grammarterm{lambda-expression}\iref{expr.prim.lambda},
5288+
if $E$ is a \grammarterm{lambda-expression}\iref{expr.prim.lambda},
52895289
the initialization of the entities captured by copy and
52905290
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
52915291
\item
5292-
if \tcode{e} is a function call\iref{expr.call} or implicitly invokes a function,
5292+
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
52935293
the constituent expressions of each default argument\iref{dcl.fct.default}
52945294
used in the call, or
52955295
\item
5296-
if \tcode{e} creates an aggregate object\iref{dcl.init.aggr},
5296+
if $E$ creates an aggregate object\iref{dcl.init.aggr},
52975297
the constituent expressions of each default member initializer\iref{class.mem}
52985298
used in the initialization.
52995299
\end{itemize}
53005300

53015301
\pnum
5302-
A \defn{subexpression} of an expression \tcode{e} is
5303-
an immediate subexpression of \tcode{e} or
5304-
a subexpression of an immediate subexpression of \tcode{e}.
5302+
A \defn{subexpression} of an expression $E$ is
5303+
an immediate subexpression of $E$ or
5304+
a subexpression of an immediate subexpression of $E$.
53055305
\begin{note}
53065306
Expressions appearing in the \grammarterm{compound-statement} of a \grammarterm{lambda-expression}
53075307
are not subexpressions of the \grammarterm{lambda-expression}.

source/declarations.tex

+23-23
Original file line numberDiff line numberDiff line change
@@ -1554,35 +1554,35 @@
15541554

15551555
\pnum
15561556
\indextext{type specifier!\idxcode{decltype}}%
1557-
For an expression \tcode{e}, the type denoted by \tcode{decltype(e)} is defined as follows:
1557+
For an expression $E$, the type denoted by \tcode{decltype($E$)} is defined as follows:
15581558
\begin{itemize}
1559-
\item if \tcode{e} is an unparenthesized \grammarterm{id-expression}
1559+
\item if $E$ is an unparenthesized \grammarterm{id-expression}
15601560
naming a structured binding\iref{dcl.struct.bind},
1561-
\tcode{decltype(e)} is the referenced type as given in
1561+
\tcode{decltype($E$)} is the referenced type as given in
15621562
the specification of the structured binding declaration;
15631563

1564-
\item otherwise, if \tcode{e} is an unparenthesized \grammarterm{id-expression}
1564+
\item otherwise, if $E$ is an unparenthesized \grammarterm{id-expression}
15651565
naming a non-type \grammarterm{template-parameter}\iref{temp.param},
1566-
\tcode{decltype(e)} is the type of the \grammarterm{template-parameter}
1566+
\tcode{decltype($E$)} is the type of the \grammarterm{template-parameter}
15671567
after performing any necessary type deduction
15681568
(\ref{dcl.spec.auto}, \ref{dcl.type.class.deduct});
15691569

1570-
\item otherwise, if \tcode{e} is an unparenthesized \grammarterm{id-expression} or
1570+
\item otherwise, if $E$ is an unparenthesized \grammarterm{id-expression} or
15711571
an unparenthesized
15721572
class
15731573
member access\iref{expr.ref}, \tcode{decltype(e)} is the
1574-
type of the entity named by \tcode{e}. If there is no such entity, or
1575-
if \tcode{e} names a set of overloaded functions, the program is
1574+
type of the entity named by $E$. If there is no such entity, or
1575+
if $E$ names a set of overloaded functions, the program is
15761576
ill-formed;
15771577

1578-
\item otherwise, if \tcode{e} is
1579-
an xvalue, \tcode{decltype(e)} is \tcode{T\&\&}, where \tcode{T} is the type
1580-
of \tcode{e};
1578+
\item otherwise, if $E$ is
1579+
an xvalue, \tcode{decltype($E$)} is \tcode{T\&\&}, where \tcode{T} is the type
1580+
of $E$;
15811581

1582-
\item otherwise, if \tcode{e} is an lvalue, \tcode{decltype(e)}
1583-
is \tcode{T\&}, where \tcode{T} is the type of \tcode{e};
1582+
\item otherwise, if $E$ is an lvalue, \tcode{decltype($E$)}
1583+
is \tcode{T\&}, where \tcode{T} is the type of $E$;
15841584

1585-
\item otherwise, \tcode{decltype(e)} is the type of \tcode{e}.
1585+
\item otherwise, \tcode{decltype(e)} is the type of $E$.
15861586
\end{itemize}
15871587

15881588
The operand of the \tcode{decltype} specifier is an unevaluated
@@ -1900,32 +1900,32 @@
19001900

19011901
\pnum
19021902
A type \tcode{T} containing a placeholder type,
1903-
and a corresponding initializer \tcode{e},
1903+
and a corresponding initializer $E$,
19041904
are determined as follows:
19051905
\begin{itemize}
19061906
\item
19071907
for a non-discarded \tcode{return} statement that occurs
19081908
in a function declared with a return type
19091909
that contains a placeholder type,
19101910
\tcode{T} is the declared return type
1911-
and \tcode{e} is the operand of the \tcode{return} statement.
1911+
and $E$ is the operand of the \tcode{return} statement.
19121912
If the \tcode{return} statement
19131913
has no operand,
1914-
then \tcode{e} is \tcode{void()};
1914+
then $E$ is \tcode{void()};
19151915
\item
19161916
for a variable declared with a type
19171917
that contains a placeholder type,
19181918
\tcode{T} is the declared type of the variable
1919-
and \tcode{e} is the initializer.
1919+
and $E$ is the initializer.
19201920
If the initialization is direct-list-initialization,
19211921
the initializer shall be a \grammarterm{braced-init-list}
19221922
containing only a single \grammarterm{assignment-expression}
1923-
and \tcode{e} is the \grammarterm{assignment-expression};
1923+
and $E$ is the \grammarterm{assignment-expression};
19241924
\item
19251925
for a non-type template parameter declared with a type
19261926
that contains a placeholder type,
19271927
\tcode{T} is the declared type of the non-type template parameter
1928-
and \tcode{e} is the corresponding template argument.
1928+
and $E$ is the corresponding template argument.
19291929
\end{itemize}
19301930

19311931
In the case of a \tcode{return} statement with no operand
@@ -1936,7 +1936,7 @@
19361936

19371937
\pnum
19381938
If the deduction is for a \tcode{return} statement
1939-
and \tcode{e} is a \grammarterm{braced-init-list}\iref{dcl.init.list},
1939+
and $E$ is a \grammarterm{braced-init-list}\iref{dcl.init.list},
19401940
the program is ill-formed.
19411941

19421942
\pnum
@@ -1954,7 +1954,7 @@
19541954
of template argument deduction from a function call\iref{temp.deduct.call},
19551955
where \tcode{P} is a
19561956
function template parameter type and
1957-
the corresponding argument is \tcode{e}.
1957+
the corresponding argument is $E$.
19581958
If the deduction fails, the declaration is ill-formed.
19591959
Otherwise, $\mathtt{T}'$ is obtained by
19601960
substituting the deduced \tcode{U} into \tcode{P}.
@@ -1985,7 +1985,7 @@
19851985
\tcode{T} shall be the
19861986
placeholder alone. The type deduced for \tcode{T} is
19871987
determined as described in~\ref{dcl.type.simple}, as though
1988-
\tcode{e} had
1988+
$E$ had
19891989
been the operand of the \tcode{decltype}.
19901990
\begin{example}
19911991
\begin{codeblock}

source/exceptions.tex

+8-8
Original file line numberDiff line numberDiff line change
@@ -817,40 +817,40 @@
817817
\end{example}
818818

819819
\pnum
820-
An expression \tcode{e} is
820+
An expression $E$ is
821821
\defnx{potentially-throwing}{potentially-throwing!expression} if
822822
\begin{itemize}
823823
\item
824-
\tcode{e} is a function call\iref{expr.call}
824+
$E$ is a function call\iref{expr.call}
825825
whose \grammarterm{postfix-expression}
826826
has a function type,
827827
or a pointer-to-function type,
828828
with a potentially-throwing exception specification,
829829
or
830830
\item
831-
\tcode{e} implicitly invokes a function
831+
$E$ implicitly invokes a function
832832
(such as an overloaded operator,
833833
an allocation function in a \grammarterm{new-expression},
834834
a constructor for a function argument,
835-
or a destructor if \tcode{e} is a full-expression\iref{intro.execution})
835+
or a destructor if $E$ is a full-expression\iref{intro.execution})
836836
that is potentially-throwing,
837837
or
838838
\item
839-
\tcode{e} is a \grammarterm{throw-expression}\iref{expr.throw},
839+
$E$ is a \grammarterm{throw-expression}\iref{expr.throw},
840840
or
841841
\item
842-
\tcode{e} is a \tcode{dynamic_cast} expression that casts to a reference type and
842+
$E$ is a \tcode{dynamic_cast} expression that casts to a reference type and
843843
requires a runtime check\iref{expr.dynamic.cast},
844844
or
845845
\item
846-
\tcode{e} is a \tcode{typeid} expression applied to a
846+
$E$ is a \tcode{typeid} expression applied to a
847847
(possibly parenthesized) built-in unary \tcode{*} operator
848848
applied to a pointer to a
849849
polymorphic class type\iref{expr.typeid},
850850
or
851851
\item
852852
any of the immediate subexpressions\iref{intro.execution}
853-
of \tcode{e} is potentially-throwing.
853+
of $E$ is potentially-throwing.
854854
\end{itemize}
855855

856856
\pnum

0 commit comments

Comments
 (0)