Skip to content

Commit 44ebe24

Browse files
jensmaurerzygoloid
authored andcommitted
[intro.defs] Remove cross-references from the Terms and Definitions
Definitions of terms cannot refer to subclauses in the main body of the standard. Partially addresses ISO/CS 016 (C++20 DIS)
1 parent ed2577b commit 44ebe24

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

source/intro.tex

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,13 @@
110110
\indexdefn{access}%
111111
\definition{access}{defns.access}
112112
\defncontext{execution-time action}
113-
read\iref{conv.lval} or
114-
modify (\ref{expr.ass}, \ref{expr.post.incr}, \ref{expr.pre.incr})
115-
the value of an object
113+
read or modify the value of an object
116114

117115
\begin{defnote}
118116
Only objects of scalar type can be accessed.
117+
Reads of scalar objects are described in \ref{conv.lval} and
118+
modifications of scalar objects are describred in
119+
\ref{expr.ass}, \ref{expr.post.incr}, and \ref{expr.pre.incr}.
119120
Attempts to read or modify an object of class type
120121
typically invoke a constructor\iref{class.ctor}
121122
or assignment operator\iref{class.copy.assign};
@@ -126,29 +127,29 @@
126127
\definition{arbitrary-positional stream}{defns.arbitrary.stream}
127128
\defncontext{library}
128129
\indexdefn{stream!arbitrary-positional}%
129-
stream (described in \ref{input.output}) that can seek to any integral position within
130+
stream that can seek to any integral position within
130131
the length of the stream
131132

132133
\begin{defnote}
133-
Every arbitrary-positional stream is also a repositional stream.
134+
Every arbitrary-positional stream is also a repositional stream\iref{defns.repositional.stream}.
134135
\end{defnote}
135136

136137
\indexdefn{argument}%
137138
\indexdefn{argument!function call expression}
138139
\definition{argument}{defns.argument}
139140
\defncontext{function call expression} expression in the
140-
comma-separated list bounded by the parentheses\iref{expr.call}
141+
comma-separated list bounded by the parentheses
141142

142143
\indexdefn{argument}%
143144
\indexdefn{argument!function-like macro}%
144145
\definition{argument}{defns.argument.macro}
145146
\defncontext{function-like macro} sequence of preprocessing tokens in the
146-
comma-separated list bounded by the parentheses\iref{cpp.replace}
147+
comma-separated list bounded by the parentheses
147148

148149
\indexdefn{argument}%
149150
\indexdefn{argument!throw expression}%
150151
\definition{argument}{defns.argument.throw}
151-
\defncontext{throw expression} operand of \tcode{throw}\iref{expr.throw}
152+
\defncontext{throw expression} operand of \keyword{throw}
152153

153154
\indexdefn{argument}%
154155
\indexdefn{argument!template instantiation}%
@@ -157,7 +158,7 @@
157158
\grammarterm{constant-expression},
158159
\grammarterm{type-id}, or
159160
\grammarterm{id-expression} in the comma-separated
160-
list bounded by the angle brackets\iref{temp.arg}
161+
list bounded by the angle brackets
161162

162163
\indexdefn{block (execution)}%
163164
\definition{block}{defns.block}
@@ -169,7 +170,7 @@
169170
\indexdefn{block (statement)}%
170171
\definition{block}{defns.block.stmt}
171172
\defncontext{statement}
172-
compound statement\iref{stmt.block}
173+
compound statement
173174

174175
\definition{character}{defns.character}
175176
\indexdefn{character}%
@@ -186,7 +187,7 @@
186187
\tcode{char32_t},
187188
and
188189
\tcode{wchar_t}
189-
objects,
190+
objects\iref{basic.fundamental},
190191
but any value that can be represented by a type
191192
that provides the definitions specified in
192193
\ref{strings}, \ref{localization}, \ref{input.output}, or~\ref{re}.
@@ -232,8 +233,8 @@
232233
\indexdefn{constant subexpression}%
233234
expression whose evaluation as subexpression of a
234235
\grammarterm{conditional-expression}
235-
\tcode{CE}\iref{expr.cond} would not prevent \tcode{CE}
236-
from being a core constant expression\iref{expr.const}
236+
\tcode{CE} would not prevent \tcode{CE}
237+
from being a core constant expression
237238

238239
\definition{deadlock}{defns.deadlock}
239240
\defncontext{library}
@@ -255,12 +256,12 @@
255256

256257
\definition{direct-non-list-initialization}{defns.direct-non-list-init}
257258
\indexdefn{direct-non-list-initialization}%
258-
direct-initialization\iref{dcl.init}
259-
that is not list-initialization\iref{dcl.init.list}
259+
direct-initialization
260+
that is not list-initialization
260261

261262
\indexdefn{type!dynamic}%
262263
\definition{dynamic type}{defns.dynamic.type}
263-
\defncontext{glvalue} type of the most derived object\iref{intro.object} to which the
264+
\defncontext{glvalue} type of the most derived object to which the
264265
glvalue refers
265266

266267
\begin{example}
@@ -280,7 +281,7 @@
280281
\indexdefn{expression-equivalent}%
281282
expressions that all have the same effects,
282283
either
283-
are all potentially-throwing\iref{except.spec} or
284+
are all potentially-throwing or
284285
are all not potentially-throwing,
285286
and
286287
either
@@ -334,8 +335,8 @@
334335

335336
\definition{iostream class templates}{defns.iostream.templates}
336337
\defncontext{library}
337-
templates, defined in \ref{input.output},
338-
that take two template arguments
338+
templates that are declared in header \libheader{iosfwd} and
339+
take two template arguments
339340

340341
\begin{defnote}
341342
The arguments are named \tcode{charT} and \tcode{traits}.
@@ -354,7 +355,7 @@
354355
\definition{modifier function}{defns.modifier}
355356
\defncontext{library}
356357
\indexdefn{function!modifier}%
357-
class member function\iref{class.mfct} other than a constructor,
358+
class member function other than a constructor,
358359
assignment operator, or destructor
359360
that alters the state of an object of the class
360361

@@ -391,7 +392,7 @@
391392
\definition{observer function}{defns.observer}
392393
\defncontext{library}
393394
\indexdefn{function!observer}%
394-
class member function\iref{class.mfct} that accesses the state of an object of the class
395+
class member function that accesses the state of an object of the class
395396
but does not alter that state
396397

397398
\begin{defnote}
@@ -484,8 +485,7 @@
484485
\definition{repositional stream}{defns.repositional.stream}
485486
\defncontext{library}
486487
\indexdefn{stream!repositional}%
487-
stream (described in \ref{input.output}) that can seek to a position that was
488-
previously encountered
488+
stream that can seek to a position that was previously encountered
489489

490490
\definition{required behavior}{defns.required.behavior}
491491
\defncontext{library}
@@ -515,7 +515,7 @@
515515
\definition{signature}{defns.signature}
516516
\defncontext{function}
517517
name,
518-
parameter-type-list\iref{dcl.fct},
518+
parameter-type-list,
519519
and enclosing namespace (if any)
520520

521521
\begin{defnote}
@@ -527,32 +527,32 @@
527527
\definition{signature}{defns.signature.friend}
528528
\defncontext{non-template friend function with trailing \grammarterm{requires-clause}}
529529
name,
530-
parameter-type-list\iref{dcl.fct},
530+
parameter-type-list,
531531
enclosing class,
532532
and
533-
trailing \grammarterm{requires-clause}\iref{dcl.decl}
533+
trailing \grammarterm{requires-clause}
534534

535535
\indexdefn{signature}%
536536
\definition{signature}{defns.signature.templ}
537537
\defncontext{function template}
538538
name,
539-
parameter-type-list\iref{dcl.fct},
539+
parameter-type-list,
540540
enclosing namespace (if any),
541541
return type,
542542
\grammarterm{template-head},
543543
and
544-
trailing \grammarterm{requires-clause}\iref{dcl.decl} (if any)
544+
trailing \grammarterm{requires-clause} (if any)
545545

546546
\indexdefn{signature}%
547547
\definition{signature}{defns.signature.templ.friend}
548548
\defncontext{friend function template with constraint involving enclosing template parameters}
549549
name,
550-
parameter-type-list\iref{dcl.fct},
550+
parameter-type-list,
551551
return type,
552552
enclosing class,
553553
\grammarterm{template-head},
554554
and
555-
trailing \grammarterm{requires-clause}\iref{dcl.decl} (if any)
555+
trailing \grammarterm{requires-clause} (if any)
556556

557557
\indexdefn{signature}%
558558
\definition{signature}{defns.signature.spec}
@@ -563,25 +563,25 @@
563563
\definition{signature}{defns.signature.member}
564564
\defncontext{class member function}
565565
name,
566-
parameter-type-list\iref{dcl.fct},
566+
parameter-type-list,
567567
class of which the function is a member,
568568
\cv-qualifiers (if any),
569569
\grammarterm{ref-qualifier} (if any),
570570
and
571-
trailing \grammarterm{requires-clause}\iref{dcl.decl} (if any)
571+
trailing \grammarterm{requires-clause} (if any)
572572

573573
\indexdefn{signature}%
574574
\definition{signature}{defns.signature.member.templ}
575575
\defncontext{class member function template}
576576
name,
577-
parameter-type-list\iref{dcl.fct},
577+
parameter-type-list,
578578
class of which the function is a member,
579579
\cv-qualifiers (if any),
580580
\grammarterm{ref-qualifier} (if any),
581581
return type (if any),
582582
\grammarterm{template-head},
583583
and
584-
trailing \grammarterm{requires-clause}\iref{dcl.decl} (if any)
584+
trailing \grammarterm{requires-clause} (if any)
585585

586586
\indexdefn{signature}%
587587
\definition{signature}{defns.signature.member.spec}
@@ -601,7 +601,7 @@
601601

602602
\indexdefn{type!static}%
603603
\definition{static type}{defns.static.type}
604-
type of an expression\iref{basic.types} resulting from
604+
type of an expression resulting from
605605
analysis of the program without considering execution semantics
606606

607607
\begin{defnote}
@@ -667,7 +667,7 @@
667667
\indexdefn{program!well-formed}%
668668
\definition{well-formed program}{defns.well.formed}
669669
\Cpp{} program constructed according to the syntax rules, diagnosable
670-
semantic rules, and the one-definition rule\iref{basic.def.odr}%
670+
semantic rules, and the one-definition rule%
671671
\indextext{definitions|)}
672672

673673
\rSec0[intro]{General principles}

0 commit comments

Comments
 (0)