Skip to content

Commit 2a21a07

Browse files
committed
Use new link macros.
1 parent 3d35655 commit 2a21a07

27 files changed

Lines changed: 573 additions & 585 deletions

source/algorithms.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
\pnum
77
This Clause describes components that \Cpp{} programs may use to perform
8-
algorithmic operations on containers\iref{containers} and other sequences.
8+
algorithmic operations on \link{containers}{containers} and other sequences.
99

1010
\pnum
1111
The following subclauses describe components for
@@ -10225,7 +10225,7 @@
1022510225

1022610226
\pnum
1022710227
\remarks
10228-
Stable\iref{algorithm.stable}.
10228+
\link{Stable}{algorithm.stable}.
1022910229
\end{itemdescr}
1023010230

1023110231
\begin{itemdecl}

source/basic.tex

Lines changed: 46 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
\indextext{linkage}%
181181
A name used in more than one translation unit can potentially
182182
refer to the same entity in these translation units depending on the
183-
linkage\iref{basic.link} of the name specified in each
183+
\link{linkage}{basic.link} of the name specified in each
184184
translation unit.
185185

186186
\rSec1[basic.def]{Declarations and definitions}
@@ -205,7 +205,7 @@
205205
\item a static assertion\iref{dcl.pre},
206206
\item controlling template instantiation\iref{temp.explicit},
207207
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
208-
\item use of attributes\iref{dcl.attr}, and
208+
\item use of \link{attributes}{dcl.attr}, and
209209
\item nothing (in the case of an \grammarterm{empty-declaration}).
210210
\end{itemize}
211211
\end{note}
@@ -334,7 +334,7 @@
334334
default constructor\iref{class.default.ctor},
335335
copy constructor, move constructor\iref{class.copy.ctor},
336336
copy assignment operator, move assignment operator\iref{class.copy.assign},
337-
or destructor\iref{class.dtor} member functions.
337+
or \link{destructor}{class.dtor} member functions.
338338
\end{note}
339339
\begin{example}
340340
Given
@@ -419,7 +419,7 @@
419419
an \grammarterm{id-expression}\iref{expr.prim.id} or
420420
a \grammarterm{splice-expression}\iref{expr.prim.splice}, the set
421421
contains only $E$.
422-
\item If $E$ is a subscripting operation\iref{expr.sub} with
422+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
423423
an array operand, the set contains the potential results of that operand.
424424
\item If $E$ is a class member access
425425
expression\iref{expr.ref} of the form
@@ -430,16 +430,15 @@
430430
\item If $E$ is a class member access expression
431431
naming a static data member,
432432
the set contains the \grammarterm{id-expression} designating the data member.
433-
\item If $E$ is a pointer-to-member
434-
expression\iref{expr.mptr.oper} of the form
433+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
435434
$E_1$ \tcode{.*} $E_2$,
436435
the set contains the potential results of $E_1$.
437436
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
438437
potential results of $E_1$.
439-
\item If $E$ is a glvalue conditional
440-
expression\iref{expr.cond}, the set is the union of the sets of
438+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
439+
the set is the union of the sets of
441440
potential results of the second and third operands.
442-
\item If $E$ is a comma expression\iref{expr.comma}, the set
441+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
443442
contains the potential results of the right operand.
444443
\item Otherwise, the set is empty.
445444
\end{itemize}
@@ -601,8 +600,8 @@
601600
copy assignment or move assignment function for another class as specified
602601
in~\ref{class.copy.assign}.
603602
A constructor for a class is odr-used as specified
604-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
605-
invoked\iref{class.dtor}.
603+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
604+
\deflink{potentially invoked}{class.dtor}.
606605

607606
\pnum
608607
A local entity\iref{basic.pre}
@@ -674,7 +673,7 @@
674673
\pnum
675674
Every program shall contain at least one definition of every
676675
function or variable that is odr-used in that program
677-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
676+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
678677
The definition can appear explicitly in the program, it can be found in
679678
the standard or a user-defined library, or (when appropriate) it is
680679
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -722,9 +721,9 @@
722721
describe in which contexts complete class types are required. A class
723722
type \tcode{T} must be complete if
724723
\begin{itemize}
725-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
726-
\item a non-static class data member of type \tcode{T} is
727-
declared\iref{class.mem}, or
724+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
725+
\item a non-static class \deflink{data member}{class.mem} of
726+
type \tcode{T} is declared, or
728727
\item \tcode{T} is used as the allocated type or array element type in a
729728
\grammarterm{new-expression}\iref{expr.new}, or
730729
\item an lvalue-to-rvalue conversion is applied to
@@ -744,7 +743,7 @@
744743
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
745744
type \tcode{T}, or
746745
\item a function with a return type or argument type of type \tcode{T}
747-
is defined\iref{basic.def} or called\iref{expr.call}, or
746+
is defined\iref{basic.def} or \link{called}{expr.call}, or
748747
\item a class with a base class of type \tcode{T} is
749748
defined\iref{class.derived}, or
750749
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -2945,7 +2944,7 @@
29452944
\indextext{linkage!\idxcode{inline} and}%
29462945
\indextext{\idxcode{inline}!linkage of}%
29472946
The name of an entity
2948-
that belongs to a namespace scope\iref{basic.scope.namespace}
2947+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29492948
has internal linkage if it is the name of
29502949
\begin{itemize}
29512950
\item
@@ -2986,7 +2985,7 @@
29862985
purposes\iref{dcl.typedef}; or
29872986
\item
29882987
\indextext{enumeration!linkage of}%
2989-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2988+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29902989
in a typedef declaration in which the enumeration has the typedef name
29912990
for linkage purposes\iref{dcl.typedef}; or
29922991
\item an unnamed enumeration
@@ -3062,7 +3061,7 @@
30623061
\pnum
30633062
\indextext{linkage!no}%
30643063
Names not covered by these rules have no linkage. Moreover, except as
3065-
noted, a name declared at block scope\iref{basic.scope.block} has no
3064+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30663065
linkage.
30673066

30683067
\pnum
@@ -3421,8 +3420,8 @@
34213420
involve additional memory locations that are not accessible to programs but are
34223421
managed by the implementation.
34233422
\end{note}
3424-
Two or more threads of
3425-
execution\iref{intro.multithread} can access separate memory
3423+
Two or more \deflinkx{threads of
3424+
execution}{thread of execution}{intro.multithread} can access separate memory
34263425
locations without interfering with each other.
34273426

34283427
\pnum
@@ -3466,15 +3465,15 @@
34663465
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34673466
manipulate objects.
34683467
An \defn{object} is created
3469-
by a definition\iref{basic.def},
3468+
by a \link{definition}{basic.def},
34703469
by a \grammarterm{new-expression}\iref{expr.new},
34713470
by an operation that implicitly creates objects (see below),
3472-
when implicitly changing the active member of a union\iref{class.union},
3471+
when implicitly changing the active member of a \link{union}{class.union},
34733472
or
34743473
when a temporary object is created\iref{conv.rval,class.temporary}.
34753474
An object occupies a region of storage
34763475
in its period of construction\iref{class.cdtor},
3477-
throughout its lifetime\iref{basic.life},
3476+
throughout its \link{lifetime}{basic.life},
34783477
and
34793478
in its period of destruction\iref{class.cdtor}.
34803479
\begin{note}
@@ -3608,7 +3607,7 @@
36083607
\begin{itemize}
36093608
\item a base class subobject, or
36103609
\item a non-static data member
3611-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3610+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
36123611
\end{itemize}
36133612

36143613
\pnum
@@ -3629,7 +3628,7 @@
36293628
are \impldef{which non-standard-layout objects
36303629
containing no data are considered empty}.
36313630
\indextext{most derived object!bit-field}%
3632-
Unless it is a bit-field\iref{class.bit},
3631+
Unless it is a \link{bit-field}{class.bit},
36333632
an object with nonzero size
36343633
shall occupy one or more bytes of storage,
36353634
including every byte that is occupied in full or in part
@@ -4269,16 +4268,16 @@
42694268
is produced by the evaluation of:
42704269
\begin{itemize}
42714270
\item
4272-
the second or third operand of a conditional expression\iref{expr.cond},
4271+
the second or third operand of a \link{conditional expression}{expr.cond},
42734272
\item
4274-
the right operand of a comma expression\iref{expr.comma},
4273+
the right operand of a \link{comma expression}{expr.comma},
42754274
\item
42764275
the operand of a cast or conversion\iref{conv.integral,
42774276
expr.type.conv,expr.static.cast,expr.cast}
42784277
to an unsigned ordinary character type
42794278
or \tcode{std::byte} type\iref{cstddef.syn}, or
42804279
\item
4281-
a discarded-value expression\iref{expr.context},
4280+
a \deflink{discarded-value expression}{expr.context},
42824281
\end{itemize}
42834282
then the result of the operation is an indeterminate value or
42844283
that erroneous value, respectively.
@@ -4469,8 +4468,8 @@
44694468
\indextext{storage duration!dynamic|(}
44704469

44714470
\pnum
4472-
Objects can be created dynamically during program
4473-
execution\iref{intro.execution}, using
4471+
Objects can be created dynamically during \link{program
4472+
execution}{intro.execution}, using
44744473
\indextext{\idxcode{new}}%
44754474
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
44764475
\indextext{\idxcode{delete}}%
@@ -4634,9 +4633,9 @@
46344633
\tcode{std::bad_alloc}\iref{bad.alloc}.
46354634

46364635
\pnum
4637-
A global allocation function is only called as the result of a new
4638-
expression\iref{expr.new}, or called directly using the function call
4639-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4636+
A global allocation function is only called as the result of a \link{new
4637+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4638+
syntax, or called indirectly to allocate storage for
46404639
a coroutine state\iref{dcl.fct.def.coroutine},
46414640
or called indirectly through calls to the
46424641
functions in the \Cpp{} standard library.
@@ -5161,9 +5160,9 @@
51615160
impose requirements on implementations regarding the representation
51625161
of types.
51635162
There are two kinds of types: fundamental types and compound types.
5164-
Types describe objects\iref{intro.object},
5165-
references\iref{dcl.ref},
5166-
or functions\iref{dcl.fct}.
5163+
Types describe \link{objects}{intro.object},
5164+
\link{references}{dcl.ref},
5165+
or \link{functions}{dcl.fct}.
51675166
\end{note}
51685167

51695168
\pnum
@@ -5337,7 +5336,7 @@
53375336
pointer types, pointer-to-member types\iref{basic.compound},
53385337
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
53395338
and
5340-
cv-qualified\iref{basic.type.qualifier} versions of these
5339+
\link{cv-qualified}{basic.type.qualifier} versions of these
53415340
types are collectively called
53425341
\defnadjx{scalar}{types}{type}.
53435342
\label{term.trivially.copyable.type}%
@@ -5362,7 +5361,7 @@
53625361
\item a scalar type; or
53635362
\item a reference type; or
53645363
\item an array of literal type; or
5365-
\item a possibly cv-qualified class type\iref{class} that
5364+
\item a possibly cv-qualified \link{class type}{class} that
53665365
has all of the following properties:
53675366
\begin{itemize}
53685367
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5396,8 +5395,8 @@
53965395
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
53975396
\defnadjx{layout-compatible}{types}{type}
53985397
if \tcode{T1} and \tcode{T2} are the same type,
5399-
layout-compatible enumerations\iref{dcl.enum}, or
5400-
layout-compatible standard-layout class types\iref{class.mem}.
5398+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5399+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
54015400

54025401
\pnum
54035402
A type is \defn{consteval-only} if it is
@@ -5971,7 +5970,7 @@
59715970
which identify members of a given
59725971
type within objects of a given class, \ref{dcl.mptr}.
59735972
Pointers to data members and pointers to member functions are collectively
5974-
called \term{pointer-to-member} types.
5973+
called \defn{pointer-to-member} types.
59755974
\end{itemize}
59765975

59775976
\pnum
@@ -6049,7 +6048,7 @@
60496048
have the same value representation and alignment
60506049
requirements\iref{basic.align}.
60516050
\begin{note}
6052-
Pointers to over-aligned types\iref{basic.align} have no special
6051+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
60536052
representation, but their range of valid values is restricted by the extended
60546053
alignment requirement.
60556054
\end{note}
@@ -6386,8 +6385,8 @@
63866385
\indextext{program execution|(}
63876386

63886387
\pnum
6389-
An instance of each object with automatic storage
6390-
duration\iref{basic.stc.auto} is associated with each entry into its
6388+
An instance of each object with \link{automatic storage
6389+
duration}{basic.stc.auto} is associated with each entry into its
63916390
block. Such an object exists and retains its last-stored value during
63926391
the execution of the block and while the block is suspended (by a call
63936392
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6432,7 +6431,7 @@
64326431
the initialization of the entities captured by copy and
64336432
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
64346433
\item
6435-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6434+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
64366435
the constituent expressions of each default argument\iref{dcl.fct.default}
64376436
used in the call, and
64386437
\item
@@ -6463,7 +6462,7 @@
64636462
A \defn{full-expression} is
64646463
\begin{itemize}
64656464
\item
6466-
an unevaluated operand\iref{expr.context},
6465+
an \deflink{unevaluated operand}{expr.context},
64676466
\item
64686467
a \grammarterm{constant-expression}\iref{expr.const.core},
64696468
\item

0 commit comments

Comments
 (0)