Skip to content

Commit 271b2cd

Browse files
committed
Use new link macros.
1 parent 47071ba commit 271b2cd

27 files changed

+607
-616
lines changed

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
@@ -10222,7 +10222,7 @@
1022210222

1022310223
\pnum
1022410224
\remarks
10225-
Stable\iref{algorithm.stable}.
10225+
\link{Stable}{algorithm.stable}.
1022610226
\end{itemdescr}
1022710227

1022810228
\begin{itemdecl}

source/basic.tex

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158
\indextext{linkage}%
159159
A name used in more than one translation unit can potentially
160160
refer to the same entity in these translation units depending on the
161-
linkage\iref{basic.link} of the name specified in each
161+
\link{linkage}{basic.link} of the name specified in each
162162
translation unit.
163163

164164
\rSec1[basic.def]{Declarations and definitions}
@@ -181,7 +181,7 @@
181181
\item a static assertion\iref{dcl.pre},
182182
\item controlling template instantiation\iref{temp.explicit},
183183
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
184-
\item use of attributes\iref{dcl.attr}, and
184+
\item use of \link{attributes}{dcl.attr}, and
185185
\item nothing (in the case of an \grammarterm{empty-declaration}).
186186
\end{itemize}
187187

@@ -267,7 +267,7 @@
267267
\item it is
268268
an explicit instantiation declaration\iref{temp.explicit}, or
269269
\item it is
270-
an explicit specialization\iref{temp.expl.spec} whose
270+
an \link{explicit specialization}{temp.expl.spec} whose
271271
\grammarterm{declaration} is not a definition.
272272
\end{itemize}
273273
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -309,7 +309,7 @@
309309
default constructor\iref{class.default.ctor},
310310
copy constructor, move constructor\iref{class.copy.ctor},
311311
copy assignment operator, move assignment operator\iref{class.copy.assign},
312-
or destructor\iref{class.dtor} member functions.
312+
or \link{destructor}{class.dtor} member functions.
313313
\end{note}
314314
\begin{example}
315315
Given
@@ -394,7 +394,7 @@
394394
an \grammarterm{id-expression}\iref{expr.prim.id} or
395395
a \grammarterm{splice-expression}\iref{expr.prim.splice}, the set
396396
contains only $E$.
397-
\item If $E$ is a subscripting operation\iref{expr.sub} with
397+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
398398
an array operand, the set contains the potential results of that operand.
399399
\item If $E$ is a class member access
400400
expression\iref{expr.ref} of the form
@@ -404,16 +404,15 @@
404404
\item If $E$ is a class member access expression
405405
naming a static data member,
406406
the set contains the \grammarterm{id-expression} designating the data member.
407-
\item If $E$ is a pointer-to-member
408-
expression\iref{expr.mptr.oper} of the form
407+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
409408
$E_1$ \tcode{.*} $E_2$,
410409
the set contains the potential results of $E_1$.
411410
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
412411
potential results of $E_1$.
413-
\item If $E$ is a glvalue conditional
414-
expression\iref{expr.cond}, the set is the union of the sets of
412+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
413+
the set is the union of the sets of
415414
potential results of the second and third operands.
416-
\item If $E$ is a comma expression\iref{expr.comma}, the set
415+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
417416
contains the potential results of the right operand.
418417
\item Otherwise, the set is empty.
419418
\end{itemize}
@@ -575,8 +574,8 @@
575574
copy assignment or move assignment function for another class as specified
576575
in~\ref{class.copy.assign}.
577576
A constructor for a class is odr-used as specified
578-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
579-
invoked\iref{class.dtor}.
577+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
578+
\deflink{potentially invoked}{class.dtor}.
580579

581580
\pnum
582581
A local entity\iref{basic.pre}
@@ -648,7 +647,7 @@
648647
\pnum
649648
Every program shall contain at least one definition of every
650649
function or variable that is odr-used in that program
651-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
650+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
652651
The definition can appear explicitly in the program, it can be found in
653652
the standard or a user-defined library, or (when appropriate) it is
654653
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -696,9 +695,9 @@
696695
describe in which contexts complete class types are required. A class
697696
type \tcode{T} must be complete if
698697
\begin{itemize}
699-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
700-
\item a non-static class data member of type \tcode{T} is
701-
declared\iref{class.mem}, or
698+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
699+
\item a non-static class \deflink{data member}{class.mem} of
700+
type \tcode{T} is declared, or
702701
\item \tcode{T} is used as the allocated type or array element type in a
703702
\grammarterm{new-expression}\iref{expr.new}, or
704703
\item an lvalue-to-rvalue conversion is applied to
@@ -718,7 +717,7 @@
718717
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
719718
type \tcode{T}, or
720719
\item a function with a return type or argument type of type \tcode{T}
721-
is defined\iref{basic.def} or called\iref{expr.call}, or
720+
is defined\iref{basic.def} or \link{called}{expr.call}, or
722721
\item a class with a base class of type \tcode{T} is
723722
defined\iref{class.derived}, or
724723
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -773,7 +772,7 @@
773772
a non-volatile const object with internal or no linkage if the object
774773
\begin{itemize}
775774
\item has the same literal type in all definitions of \tcode{D},
776-
\item is initialized with a constant expression\iref{expr.const},
775+
\item is initialized with a \link{constant expression}{expr.const},
777776
\item is not odr-used in any definition of \tcode{D}, and
778777
\item has the same value in all definitions of \tcode{D},
779778
\end{itemize}
@@ -2879,7 +2878,7 @@
28792878
\pnum
28802879
\indextext{program}%
28812880
\indextext{linking}%
2882-
A \defn{program} consists of one or more translation units\iref{lex.separate}
2881+
A \defn{program} consists of one or more \deflinkx{translation units}{translation unit}{lex.separate}
28832882
linked together. A translation unit consists
28842883
of a sequence of declarations.
28852884

@@ -2912,7 +2911,7 @@
29122911
\indextext{linkage!\idxcode{inline} and}%
29132912
\indextext{\idxcode{inline}!linkage of}%
29142913
The name of an entity
2915-
that belongs to a namespace scope\iref{basic.scope.namespace}
2914+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29162915
has internal linkage if it is the name of
29172916
\begin{itemize}
29182917
\item
@@ -2953,7 +2952,7 @@
29532952
purposes\iref{dcl.typedef}; or
29542953
\item
29552954
\indextext{enumeration!linkage of}%
2956-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2955+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29572956
in a typedef declaration in which the enumeration has the typedef name
29582957
for linkage purposes\iref{dcl.typedef}; or
29592958
\item an unnamed enumeration
@@ -3029,7 +3028,7 @@
30293028
\pnum
30303029
\indextext{linkage!no}%
30313030
Names not covered by these rules have no linkage. Moreover, except as
3032-
noted, a name declared at block scope\iref{basic.scope.block} has no
3031+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30333032
linkage.
30343033

30353034
\pnum
@@ -3387,8 +3386,8 @@
33873386
involve additional memory locations that are not accessible to programs but are
33883387
managed by the implementation.
33893388
\end{note}
3390-
Two or more threads of
3391-
execution\iref{intro.multithread} can access separate memory
3389+
Two or more \deflinkx{threads of
3390+
execution}{thread of execution}{intro.multithread} can access separate memory
33923391
locations without interfering with each other.
33933392

33943393
\pnum
@@ -3432,15 +3431,15 @@
34323431
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34333432
manipulate objects.
34343433
An \defn{object} is created
3435-
by a definition\iref{basic.def},
3434+
by a \link{definition}{basic.def},
34363435
by a \grammarterm{new-expression}\iref{expr.new},
34373436
by an operation that implicitly creates objects (see below),
3438-
when implicitly changing the active member of a union\iref{class.union},
3437+
when implicitly changing the active member of a \link{union}{class.union},
34393438
or
34403439
when a temporary object is created\iref{conv.rval,class.temporary}.
34413440
An object occupies a region of storage
34423441
in its period of construction\iref{class.cdtor},
3443-
throughout its lifetime\iref{basic.life},
3442+
throughout its \link{lifetime}{basic.life},
34443443
and
34453444
in its period of destruction\iref{class.cdtor}.
34463445
\begin{note}
@@ -3570,7 +3569,7 @@
35703569
\begin{itemize}
35713570
\item a base class subobject, or
35723571
\item a non-static data member
3573-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3572+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
35743573
\end{itemize}
35753574

35763575
\pnum
@@ -3591,7 +3590,7 @@
35913590
are \impldef{which non-standard-layout objects
35923591
containing no data are considered empty}.
35933592
\indextext{most derived object!bit-field}%
3594-
Unless it is a bit-field\iref{class.bit},
3593+
Unless it is a \link{bit-field}{class.bit},
35953594
an object with nonzero size
35963595
shall occupy one or more bytes of storage,
35973596
including every byte that is occupied in full or in part
@@ -4163,16 +4162,16 @@
41634162
is produced by the evaluation of:
41644163
\begin{itemize}
41654164
\item
4166-
the second or third operand of a conditional expression\iref{expr.cond},
4165+
the second or third operand of a \link{conditional expression}{expr.cond},
41674166
\item
4168-
the right operand of a comma expression\iref{expr.comma},
4167+
the right operand of a \link{comma expression}{expr.comma},
41694168
\item
41704169
the operand of a cast or conversion\iref{conv.integral,
41714170
expr.type.conv,expr.static.cast,expr.cast}
41724171
to an unsigned ordinary character type
41734172
or \tcode{std::byte} type\iref{cstddef.syn}, or
41744173
\item
4175-
a discarded-value expression\iref{expr.context},
4174+
a \deflink{discarded-value expression}{expr.context},
41764175
\end{itemize}
41774176
then the result of the operation is an indeterminate value or
41784177
that erroneous value, respectively.
@@ -4363,8 +4362,8 @@
43634362
\indextext{storage duration!dynamic|(}
43644363

43654364
\pnum
4366-
Objects can be created dynamically during program
4367-
execution\iref{intro.execution}, using
4365+
Objects can be created dynamically during \link{program
4366+
execution}{intro.execution}, using
43684367
\indextext{\idxcode{new}}%
43694368
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
43704369
\indextext{\idxcode{delete}}%
@@ -4528,9 +4527,9 @@
45284527
\tcode{std::bad_alloc}\iref{bad.alloc}.
45294528

45304529
\pnum
4531-
A global allocation function is only called as the result of a new
4532-
expression\iref{expr.new}, or called directly using the function call
4533-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4530+
A global allocation function is only called as the result of a \link{new
4531+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4532+
syntax, or called indirectly to allocate storage for
45344533
a coroutine state\iref{dcl.fct.def.coroutine},
45354534
or called indirectly through calls to the
45364535
functions in the \Cpp{} standard library.
@@ -5036,9 +5035,9 @@
50365035
impose requirements on implementations regarding the representation
50375036
of types.
50385037
There are two kinds of types: fundamental types and compound types.
5039-
Types describe objects\iref{intro.object},
5040-
references\iref{dcl.ref},
5041-
or functions\iref{dcl.fct}.
5038+
Types describe \link{objects}{intro.object},
5039+
\link{references}{dcl.ref},
5040+
or \link{functions}{dcl.fct}.
50425041
\end{note}
50435042

50445043
\pnum
@@ -5212,7 +5211,7 @@
52125211
pointer types, pointer-to-member types\iref{basic.compound},
52135212
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
52145213
and
5215-
cv-qualified\iref{basic.type.qualifier} versions of these
5214+
\link{cv-qualified}{basic.type.qualifier} versions of these
52165215
types are collectively called
52175216
\defnadjx{scalar}{types}{type}.
52185217
\label{term.trivially.copyable.type}%
@@ -5246,7 +5245,7 @@
52465245
\item a scalar type; or
52475246
\item a reference type; or
52485247
\item an array of literal type; or
5249-
\item a possibly cv-qualified class type\iref{class} that
5248+
\item a possibly cv-qualified \link{class type}{class} that
52505249
has all of the following properties:
52515250
\begin{itemize}
52525251
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5280,8 +5279,8 @@
52805279
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
52815280
\defnadjx{layout-compatible}{types}{type}
52825281
if \tcode{T1} and \tcode{T2} are the same type,
5283-
layout-compatible enumerations\iref{dcl.enum}, or
5284-
layout-compatible standard-layout class types\iref{class.mem}.
5282+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5283+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
52855284

52865285
\pnum
52875286
A type is \defn{consteval-only} if it is either
@@ -5834,7 +5833,7 @@
58345833
which identify members of a given
58355834
type within objects of a given class, \ref{dcl.mptr}.
58365835
Pointers to data members and pointers to member functions are collectively
5837-
called \term{pointer-to-member} types.
5836+
called \defn{pointer-to-member} types.
58385837
\end{itemize}
58395838

58405839
\pnum
@@ -5912,7 +5911,7 @@
59125911
have the same value representation and alignment
59135912
requirements\iref{basic.align}.
59145913
\begin{note}
5915-
Pointers to over-aligned types\iref{basic.align} have no special
5914+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
59165915
representation, but their range of valid values is restricted by the extended
59175916
alignment requirement.
59185917
\end{note}
@@ -6227,8 +6226,8 @@
62276226
\indextext{program execution|(}
62286227

62296228
\pnum
6230-
An instance of each object with automatic storage
6231-
duration\iref{basic.stc.auto} is associated with each entry into its
6229+
An instance of each object with \link{automatic storage
6230+
duration}{basic.stc.auto} is associated with each entry into its
62326231
block. Such an object exists and retains its last-stored value during
62336232
the execution of the block and while the block is suspended (by a call
62346233
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6273,7 +6272,7 @@
62736272
the initialization of the entities captured by copy and
62746273
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
62756274
\item
6276-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6275+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
62776276
the constituent expressions of each default argument\iref{dcl.fct.default}
62786277
used in the call, or
62796278
\item
@@ -6304,7 +6303,7 @@
63046303
A \defn{full-expression} is
63056304
\begin{itemize}
63066305
\item
6307-
an unevaluated operand\iref{expr.context},
6306+
an \deflink{unevaluated operand}{expr.context},
63086307
\item
63096308
a \grammarterm{constant-expression}\iref{expr.const},
63106309
\item

0 commit comments

Comments
 (0)