Skip to content

Commit 74cce86

Browse files
committed
Use new link macros.
1 parent cc5a223 commit 74cce86

27 files changed

+602
-612
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
@@ -10243,7 +10243,7 @@
1024310243

1024410244
\pnum
1024510245
\remarks
10246-
Stable\iref{algorithm.stable}.
10246+
\link{Stable}{algorithm.stable}.
1024710247
\end{itemdescr}
1024810248

1024910249
\begin{itemdecl}

source/basic.tex

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

168168
\rSec1[basic.def]{Declarations and definitions}
@@ -187,7 +187,7 @@
187187
\item a static assertion\iref{dcl.pre},
188188
\item controlling template instantiation\iref{temp.explicit},
189189
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
190-
\item use of attributes\iref{dcl.attr}, and
190+
\item use of \link{attributes}{dcl.attr}, and
191191
\item nothing (in the case of an \grammarterm{empty-declaration}).
192192
\end{itemize}
193193
\end{note}
@@ -274,7 +274,7 @@
274274
\item it is
275275
an explicit instantiation declaration\iref{temp.explicit}, or
276276
\item it is
277-
an explicit specialization\iref{temp.expl.spec} whose
277+
an \link{explicit specialization}{temp.expl.spec} whose
278278
\grammarterm{declaration} is not a definition.
279279
\end{itemize}
280280
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -316,7 +316,7 @@
316316
default constructor\iref{class.default.ctor},
317317
copy constructor, move constructor\iref{class.copy.ctor},
318318
copy assignment operator, move assignment operator\iref{class.copy.assign},
319-
or destructor\iref{class.dtor} member functions.
319+
or \link{destructor}{class.dtor} member functions.
320320
\end{note}
321321
\begin{example}
322322
Given
@@ -401,7 +401,7 @@
401401
an \grammarterm{id-expression}\iref{expr.prim.id} or
402402
a \grammarterm{splice-expression}\iref{expr.prim.splice}, the set
403403
contains only $E$.
404-
\item If $E$ is a subscripting operation\iref{expr.sub} with
404+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
405405
an array operand, the set contains the potential results of that operand.
406406
\item If $E$ is a class member access
407407
expression\iref{expr.ref} of the form
@@ -412,16 +412,15 @@
412412
\item If $E$ is a class member access expression
413413
naming a static data member,
414414
the set contains the \grammarterm{id-expression} designating the data member.
415-
\item If $E$ is a pointer-to-member
416-
expression\iref{expr.mptr.oper} of the form
415+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
417416
$E_1$ \tcode{.*} $E_2$,
418417
the set contains the potential results of $E_1$.
419418
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
420419
potential results of $E_1$.
421-
\item If $E$ is a glvalue conditional
422-
expression\iref{expr.cond}, the set is the union of the sets of
420+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
421+
the set is the union of the sets of
423422
potential results of the second and third operands.
424-
\item If $E$ is a comma expression\iref{expr.comma}, the set
423+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
425424
contains the potential results of the right operand.
426425
\item Otherwise, the set is empty.
427426
\end{itemize}
@@ -583,8 +582,8 @@
583582
copy assignment or move assignment function for another class as specified
584583
in~\ref{class.copy.assign}.
585584
A constructor for a class is odr-used as specified
586-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
587-
invoked\iref{class.dtor}.
585+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
586+
\deflink{potentially invoked}{class.dtor}.
588587

589588
\pnum
590589
A local entity\iref{basic.pre}
@@ -656,7 +655,7 @@
656655
\pnum
657656
Every program shall contain at least one definition of every
658657
function or variable that is odr-used in that program
659-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
658+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
660659
The definition can appear explicitly in the program, it can be found in
661660
the standard or a user-defined library, or (when appropriate) it is
662661
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -704,9 +703,9 @@
704703
describe in which contexts complete class types are required. A class
705704
type \tcode{T} must be complete if
706705
\begin{itemize}
707-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
708-
\item a non-static class data member of type \tcode{T} is
709-
declared\iref{class.mem}, or
706+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
707+
\item a non-static class \deflink{data member}{class.mem} of
708+
type \tcode{T} is declared, or
710709
\item \tcode{T} is used as the allocated type or array element type in a
711710
\grammarterm{new-expression}\iref{expr.new}, or
712711
\item an lvalue-to-rvalue conversion is applied to
@@ -726,7 +725,7 @@
726725
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
727726
type \tcode{T}, or
728727
\item a function with a return type or argument type of type \tcode{T}
729-
is defined\iref{basic.def} or called\iref{expr.call}, or
728+
is defined\iref{basic.def} or \link{called}{expr.call}, or
730729
\item a class with a base class of type \tcode{T} is
731730
defined\iref{class.derived}, or
732731
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -781,7 +780,7 @@
781780
a non-volatile const object with internal or no linkage if the object
782781
\begin{itemize}
783782
\item has the same literal type in all definitions of \tcode{D},
784-
\item is initialized with a constant expression\iref{expr.const},
783+
\item is initialized with a \link{constant expression}{expr.const},
785784
\item is not odr-used in any definition of \tcode{D}, and
786785
\item has the same value in all definitions of \tcode{D},
787786
\end{itemize}
@@ -2921,7 +2920,7 @@
29212920
\indextext{linkage!\idxcode{inline} and}%
29222921
\indextext{\idxcode{inline}!linkage of}%
29232922
The name of an entity
2924-
that belongs to a namespace scope\iref{basic.scope.namespace}
2923+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29252924
has internal linkage if it is the name of
29262925
\begin{itemize}
29272926
\item
@@ -2962,7 +2961,7 @@
29622961
purposes\iref{dcl.typedef}; or
29632962
\item
29642963
\indextext{enumeration!linkage of}%
2965-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2964+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29662965
in a typedef declaration in which the enumeration has the typedef name
29672966
for linkage purposes\iref{dcl.typedef}; or
29682967
\item an unnamed enumeration
@@ -3038,7 +3037,7 @@
30383037
\pnum
30393038
\indextext{linkage!no}%
30403039
Names not covered by these rules have no linkage. Moreover, except as
3041-
noted, a name declared at block scope\iref{basic.scope.block} has no
3040+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30423041
linkage.
30433042

30443043
\pnum
@@ -3397,8 +3396,8 @@
33973396
involve additional memory locations that are not accessible to programs but are
33983397
managed by the implementation.
33993398
\end{note}
3400-
Two or more threads of
3401-
execution\iref{intro.multithread} can access separate memory
3399+
Two or more \deflinkx{threads of
3400+
execution}{thread of execution}{intro.multithread} can access separate memory
34023401
locations without interfering with each other.
34033402

34043403
\pnum
@@ -3442,15 +3441,15 @@
34423441
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34433442
manipulate objects.
34443443
An \defn{object} is created
3445-
by a definition\iref{basic.def},
3444+
by a \link{definition}{basic.def},
34463445
by a \grammarterm{new-expression}\iref{expr.new},
34473446
by an operation that implicitly creates objects (see below),
3448-
when implicitly changing the active member of a union\iref{class.union},
3447+
when implicitly changing the active member of a \link{union}{class.union},
34493448
or
34503449
when a temporary object is created\iref{conv.rval,class.temporary}.
34513450
An object occupies a region of storage
34523451
in its period of construction\iref{class.cdtor},
3453-
throughout its lifetime\iref{basic.life},
3452+
throughout its \link{lifetime}{basic.life},
34543453
and
34553454
in its period of destruction\iref{class.cdtor}.
34563455
\begin{note}
@@ -3584,7 +3583,7 @@
35843583
\begin{itemize}
35853584
\item a base class subobject, or
35863585
\item a non-static data member
3587-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3586+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
35883587
\end{itemize}
35893588

35903589
\pnum
@@ -3605,7 +3604,7 @@
36053604
are \impldef{which non-standard-layout objects
36063605
containing no data are considered empty}.
36073606
\indextext{most derived object!bit-field}%
3608-
Unless it is a bit-field\iref{class.bit},
3607+
Unless it is a \link{bit-field}{class.bit},
36093608
an object with nonzero size
36103609
shall occupy one or more bytes of storage,
36113610
including every byte that is occupied in full or in part
@@ -4198,16 +4197,16 @@
41984197
is produced by the evaluation of:
41994198
\begin{itemize}
42004199
\item
4201-
the second or third operand of a conditional expression\iref{expr.cond},
4200+
the second or third operand of a \link{conditional expression}{expr.cond},
42024201
\item
4203-
the right operand of a comma expression\iref{expr.comma},
4202+
the right operand of a \link{comma expression}{expr.comma},
42044203
\item
42054204
the operand of a cast or conversion\iref{conv.integral,
42064205
expr.type.conv,expr.static.cast,expr.cast}
42074206
to an unsigned ordinary character type
42084207
or \tcode{std::byte} type\iref{cstddef.syn}, or
42094208
\item
4210-
a discarded-value expression\iref{expr.context},
4209+
a \deflink{discarded-value expression}{expr.context},
42114210
\end{itemize}
42124211
then the result of the operation is an indeterminate value or
42134212
that erroneous value, respectively.
@@ -4398,8 +4397,8 @@
43984397
\indextext{storage duration!dynamic|(}
43994398

44004399
\pnum
4401-
Objects can be created dynamically during program
4402-
execution\iref{intro.execution}, using
4400+
Objects can be created dynamically during \link{program
4401+
execution}{intro.execution}, using
44034402
\indextext{\idxcode{new}}%
44044403
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
44054404
\indextext{\idxcode{delete}}%
@@ -4563,9 +4562,9 @@
45634562
\tcode{std::bad_alloc}\iref{bad.alloc}.
45644563

45654564
\pnum
4566-
A global allocation function is only called as the result of a new
4567-
expression\iref{expr.new}, or called directly using the function call
4568-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4565+
A global allocation function is only called as the result of a \link{new
4566+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4567+
syntax, or called indirectly to allocate storage for
45694568
a coroutine state\iref{dcl.fct.def.coroutine},
45704569
or called indirectly through calls to the
45714570
functions in the \Cpp{} standard library.
@@ -5090,9 +5089,9 @@
50905089
impose requirements on implementations regarding the representation
50915090
of types.
50925091
There are two kinds of types: fundamental types and compound types.
5093-
Types describe objects\iref{intro.object},
5094-
references\iref{dcl.ref},
5095-
or functions\iref{dcl.fct}.
5092+
Types describe \link{objects}{intro.object},
5093+
\link{references}{dcl.ref},
5094+
or \link{functions}{dcl.fct}.
50965095
\end{note}
50975096

50985097
\pnum
@@ -5266,7 +5265,7 @@
52665265
pointer types, pointer-to-member types\iref{basic.compound},
52675266
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
52685267
and
5269-
cv-qualified\iref{basic.type.qualifier} versions of these
5268+
\link{cv-qualified}{basic.type.qualifier} versions of these
52705269
types are collectively called
52715270
\defnadjx{scalar}{types}{type}.
52725271
\label{term.trivially.copyable.type}%
@@ -5291,7 +5290,7 @@
52915290
\item a scalar type; or
52925291
\item a reference type; or
52935292
\item an array of literal type; or
5294-
\item a possibly cv-qualified class type\iref{class} that
5293+
\item a possibly cv-qualified \link{class type}{class} that
52955294
has all of the following properties:
52965295
\begin{itemize}
52975296
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5325,8 +5324,8 @@
53255324
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
53265325
\defnadjx{layout-compatible}{types}{type}
53275326
if \tcode{T1} and \tcode{T2} are the same type,
5328-
layout-compatible enumerations\iref{dcl.enum}, or
5329-
layout-compatible standard-layout class types\iref{class.mem}.
5327+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5328+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
53305329

53315330
\pnum
53325331
A type is \defn{consteval-only} if it is
@@ -5896,7 +5895,7 @@
58965895
which identify members of a given
58975896
type within objects of a given class, \ref{dcl.mptr}.
58985897
Pointers to data members and pointers to member functions are collectively
5899-
called \term{pointer-to-member} types.
5898+
called \defn{pointer-to-member} types.
59005899
\end{itemize}
59015900

59025901
\pnum
@@ -5974,7 +5973,7 @@
59745973
have the same value representation and alignment
59755974
requirements\iref{basic.align}.
59765975
\begin{note}
5977-
Pointers to over-aligned types\iref{basic.align} have no special
5976+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
59785977
representation, but their range of valid values is restricted by the extended
59795978
alignment requirement.
59805979
\end{note}
@@ -6289,8 +6288,8 @@
62896288
\indextext{program execution|(}
62906289

62916290
\pnum
6292-
An instance of each object with automatic storage
6293-
duration\iref{basic.stc.auto} is associated with each entry into its
6291+
An instance of each object with \link{automatic storage
6292+
duration}{basic.stc.auto} is associated with each entry into its
62946293
block. Such an object exists and retains its last-stored value during
62956294
the execution of the block and while the block is suspended (by a call
62966295
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6335,7 +6334,7 @@
63356334
the initialization of the entities captured by copy and
63366335
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
63376336
\item
6338-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6337+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
63396338
the constituent expressions of each default argument\iref{dcl.fct.default}
63406339
used in the call, or
63416340
\item
@@ -6366,7 +6365,7 @@
63666365
A \defn{full-expression} is
63676366
\begin{itemize}
63686367
\item
6369-
an unevaluated operand\iref{expr.context},
6368+
an \deflink{unevaluated operand}{expr.context},
63706369
\item
63716370
a \grammarterm{constant-expression}\iref{expr.const},
63726371
\item

0 commit comments

Comments
 (0)