Skip to content

Commit 492efe0

Browse files
committed
Use new link macros.
1 parent c46dbd9 commit 492efe0

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
@@ -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}
@@ -185,7 +185,7 @@
185185
\item a static assertion\iref{dcl.pre},
186186
\item controlling template instantiation\iref{temp.explicit},
187187
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
188-
\item use of attributes\iref{dcl.attr}, and
188+
\item use of \link{attributes}{dcl.attr}, and
189189
\item nothing (in the case of an \grammarterm{empty-declaration}).
190190
\end{itemize}
191191

@@ -271,7 +271,7 @@
271271
\item it is
272272
an explicit instantiation declaration\iref{temp.explicit}, or
273273
\item it is
274-
an explicit specialization\iref{temp.expl.spec} whose
274+
an \link{explicit specialization}{temp.expl.spec} whose
275275
\grammarterm{declaration} is not a definition.
276276
\end{itemize}
277277
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -313,7 +313,7 @@
313313
default constructor\iref{class.default.ctor},
314314
copy constructor, move constructor\iref{class.copy.ctor},
315315
copy assignment operator, move assignment operator\iref{class.copy.assign},
316-
or destructor\iref{class.dtor} member functions.
316+
or \link{destructor}{class.dtor} member functions.
317317
\end{note}
318318
\begin{example}
319319
Given
@@ -398,7 +398,7 @@
398398
an \grammarterm{id-expression}\iref{expr.prim.id} or
399399
a \grammarterm{splice-expression}\iref{expr.prim.splice}, the set
400400
contains only $E$.
401-
\item If $E$ is a subscripting operation\iref{expr.sub} with
401+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
402402
an array operand, the set contains the potential results of that operand.
403403
\item If $E$ is a class member access
404404
expression\iref{expr.ref} of the form
@@ -408,16 +408,15 @@
408408
\item If $E$ is a class member access expression
409409
naming a static data member,
410410
the set contains the \grammarterm{id-expression} designating the data member.
411-
\item If $E$ is a pointer-to-member
412-
expression\iref{expr.mptr.oper} of the form
411+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
413412
$E_1$ \tcode{.*} $E_2$,
414413
the set contains the potential results of $E_1$.
415414
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
416415
potential results of $E_1$.
417-
\item If $E$ is a glvalue conditional
418-
expression\iref{expr.cond}, the set is the union of the sets of
416+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
417+
the set is the union of the sets of
419418
potential results of the second and third operands.
420-
\item If $E$ is a comma expression\iref{expr.comma}, the set
419+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
421420
contains the potential results of the right operand.
422421
\item Otherwise, the set is empty.
423422
\end{itemize}
@@ -579,8 +578,8 @@
579578
copy assignment or move assignment function for another class as specified
580579
in~\ref{class.copy.assign}.
581580
A constructor for a class is odr-used as specified
582-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
583-
invoked\iref{class.dtor}.
581+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
582+
\deflink{potentially invoked}{class.dtor}.
584583

585584
\pnum
586585
A local entity\iref{basic.pre}
@@ -652,7 +651,7 @@
652651
\pnum
653652
Every program shall contain at least one definition of every
654653
function or variable that is odr-used in that program
655-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
654+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
656655
The definition can appear explicitly in the program, it can be found in
657656
the standard or a user-defined library, or (when appropriate) it is
658657
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -700,9 +699,9 @@
700699
describe in which contexts complete class types are required. A class
701700
type \tcode{T} must be complete if
702701
\begin{itemize}
703-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
704-
\item a non-static class data member of type \tcode{T} is
705-
declared\iref{class.mem}, or
702+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
703+
\item a non-static class \deflink{data member}{class.mem} of
704+
type \tcode{T} is declared, or
706705
\item \tcode{T} is used as the allocated type or array element type in a
707706
\grammarterm{new-expression}\iref{expr.new}, or
708707
\item an lvalue-to-rvalue conversion is applied to
@@ -722,7 +721,7 @@
722721
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
723722
type \tcode{T}, or
724723
\item a function with a return type or argument type of type \tcode{T}
725-
is defined\iref{basic.def} or called\iref{expr.call}, or
724+
is defined\iref{basic.def} or \link{called}{expr.call}, or
726725
\item a class with a base class of type \tcode{T} is
727726
defined\iref{class.derived}, or
728727
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -777,7 +776,7 @@
777776
a non-volatile const object with internal or no linkage if the object
778777
\begin{itemize}
779778
\item has the same literal type in all definitions of \tcode{D},
780-
\item is initialized with a constant expression\iref{expr.const},
779+
\item is initialized with a \link{constant expression}{expr.const},
781780
\item is not odr-used in any definition of \tcode{D}, and
782781
\item has the same value in all definitions of \tcode{D},
783782
\end{itemize}
@@ -2883,7 +2882,7 @@
28832882
\pnum
28842883
\indextext{program}%
28852884
\indextext{linking}%
2886-
A \defn{program} consists of one or more translation units\iref{lex.separate}
2885+
A \defn{program} consists of one or more \deflinkx{translation units}{translation unit}{lex.separate}
28872886
linked together. A translation unit consists
28882887
of a sequence of declarations.
28892888

@@ -2916,7 +2915,7 @@
29162915
\indextext{linkage!\idxcode{inline} and}%
29172916
\indextext{\idxcode{inline}!linkage of}%
29182917
The name of an entity
2919-
that belongs to a namespace scope\iref{basic.scope.namespace}
2918+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29202919
has internal linkage if it is the name of
29212920
\begin{itemize}
29222921
\item
@@ -2957,7 +2956,7 @@
29572956
purposes\iref{dcl.typedef}; or
29582957
\item
29592958
\indextext{enumeration!linkage of}%
2960-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2959+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29612960
in a typedef declaration in which the enumeration has the typedef name
29622961
for linkage purposes\iref{dcl.typedef}; or
29632962
\item an unnamed enumeration
@@ -3033,7 +3032,7 @@
30333032
\pnum
30343033
\indextext{linkage!no}%
30353034
Names not covered by these rules have no linkage. Moreover, except as
3036-
noted, a name declared at block scope\iref{basic.scope.block} has no
3035+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30373036
linkage.
30383037

30393038
\pnum
@@ -3391,8 +3390,8 @@
33913390
involve additional memory locations that are not accessible to programs but are
33923391
managed by the implementation.
33933392
\end{note}
3394-
Two or more threads of
3395-
execution\iref{intro.multithread} can access separate memory
3393+
Two or more \deflinkx{threads of
3394+
execution}{thread of execution}{intro.multithread} can access separate memory
33963395
locations without interfering with each other.
33973396

33983397
\pnum
@@ -3436,15 +3435,15 @@
34363435
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34373436
manipulate objects.
34383437
An \defn{object} is created
3439-
by a definition\iref{basic.def},
3438+
by a \link{definition}{basic.def},
34403439
by a \grammarterm{new-expression}\iref{expr.new},
34413440
by an operation that implicitly creates objects (see below),
3442-
when implicitly changing the active member of a union\iref{class.union},
3441+
when implicitly changing the active member of a \link{union}{class.union},
34433442
or
34443443
when a temporary object is created\iref{conv.rval,class.temporary}.
34453444
An object occupies a region of storage
34463445
in its period of construction\iref{class.cdtor},
3447-
throughout its lifetime\iref{basic.life},
3446+
throughout its \link{lifetime}{basic.life},
34483447
and
34493448
in its period of destruction\iref{class.cdtor}.
34503449
\begin{note}
@@ -3574,7 +3573,7 @@
35743573
\begin{itemize}
35753574
\item a base class subobject, or
35763575
\item a non-static data member
3577-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3576+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
35783577
\end{itemize}
35793578

35803579
\pnum
@@ -3595,7 +3594,7 @@
35953594
are \impldef{which non-standard-layout objects
35963595
containing no data are considered empty}.
35973596
\indextext{most derived object!bit-field}%
3598-
Unless it is a bit-field\iref{class.bit},
3597+
Unless it is a \link{bit-field}{class.bit},
35993598
an object with nonzero size
36003599
shall occupy one or more bytes of storage,
36013600
including every byte that is occupied in full or in part
@@ -4167,16 +4166,16 @@
41674166
is produced by the evaluation of:
41684167
\begin{itemize}
41694168
\item
4170-
the second or third operand of a conditional expression\iref{expr.cond},
4169+
the second or third operand of a \link{conditional expression}{expr.cond},
41714170
\item
4172-
the right operand of a comma expression\iref{expr.comma},
4171+
the right operand of a \link{comma expression}{expr.comma},
41734172
\item
41744173
the operand of a cast or conversion\iref{conv.integral,
41754174
expr.type.conv,expr.static.cast,expr.cast}
41764175
to an unsigned ordinary character type
41774176
or \tcode{std::byte} type\iref{cstddef.syn}, or
41784177
\item
4179-
a discarded-value expression\iref{expr.context},
4178+
a \deflink{discarded-value expression}{expr.context},
41804179
\end{itemize}
41814180
then the result of the operation is an indeterminate value or
41824181
that erroneous value, respectively.
@@ -4367,8 +4366,8 @@
43674366
\indextext{storage duration!dynamic|(}
43684367

43694368
\pnum
4370-
Objects can be created dynamically during program
4371-
execution\iref{intro.execution}, using
4369+
Objects can be created dynamically during \link{program
4370+
execution}{intro.execution}, using
43724371
\indextext{\idxcode{new}}%
43734372
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
43744373
\indextext{\idxcode{delete}}%
@@ -4532,9 +4531,9 @@
45324531
\tcode{std::bad_alloc}\iref{bad.alloc}.
45334532

45344533
\pnum
4535-
A global allocation function is only called as the result of a new
4536-
expression\iref{expr.new}, or called directly using the function call
4537-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4534+
A global allocation function is only called as the result of a \link{new
4535+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4536+
syntax, or called indirectly to allocate storage for
45384537
a coroutine state\iref{dcl.fct.def.coroutine},
45394538
or called indirectly through calls to the
45404539
functions in the \Cpp{} standard library.
@@ -5040,9 +5039,9 @@
50405039
impose requirements on implementations regarding the representation
50415040
of types.
50425041
There are two kinds of types: fundamental types and compound types.
5043-
Types describe objects\iref{intro.object},
5044-
references\iref{dcl.ref},
5045-
or functions\iref{dcl.fct}.
5042+
Types describe \link{objects}{intro.object},
5043+
\link{references}{dcl.ref},
5044+
or \link{functions}{dcl.fct}.
50465045
\end{note}
50475046

50485047
\pnum
@@ -5216,7 +5215,7 @@
52165215
pointer types, pointer-to-member types\iref{basic.compound},
52175216
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
52185217
and
5219-
cv-qualified\iref{basic.type.qualifier} versions of these
5218+
\link{cv-qualified}{basic.type.qualifier} versions of these
52205219
types are collectively called
52215220
\defnadjx{scalar}{types}{type}.
52225221
\label{term.trivially.copyable.type}%
@@ -5250,7 +5249,7 @@
52505249
\item a scalar type; or
52515250
\item a reference type; or
52525251
\item an array of literal type; or
5253-
\item a possibly cv-qualified class type\iref{class} that
5252+
\item a possibly cv-qualified \link{class type}{class} that
52545253
has all of the following properties:
52555254
\begin{itemize}
52565255
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5284,8 +5283,8 @@
52845283
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
52855284
\defnadjx{layout-compatible}{types}{type}
52865285
if \tcode{T1} and \tcode{T2} are the same type,
5287-
layout-compatible enumerations\iref{dcl.enum}, or
5288-
layout-compatible standard-layout class types\iref{class.mem}.
5286+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5287+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
52895288

52905289
\pnum
52915290
A type is \defn{consteval-only} if it is either
@@ -5842,7 +5841,7 @@
58425841
which identify members of a given
58435842
type within objects of a given class, \ref{dcl.mptr}.
58445843
Pointers to data members and pointers to member functions are collectively
5845-
called \term{pointer-to-member} types.
5844+
called \defn{pointer-to-member} types.
58465845
\end{itemize}
58475846

58485847
\pnum
@@ -5920,7 +5919,7 @@
59205919
have the same value representation and alignment
59215920
requirements\iref{basic.align}.
59225921
\begin{note}
5923-
Pointers to over-aligned types\iref{basic.align} have no special
5922+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
59245923
representation, but their range of valid values is restricted by the extended
59255924
alignment requirement.
59265925
\end{note}
@@ -6235,8 +6234,8 @@
62356234
\indextext{program execution|(}
62366235

62376236
\pnum
6238-
An instance of each object with automatic storage
6239-
duration\iref{basic.stc.auto} is associated with each entry into its
6237+
An instance of each object with \link{automatic storage
6238+
duration}{basic.stc.auto} is associated with each entry into its
62406239
block. Such an object exists and retains its last-stored value during
62416240
the execution of the block and while the block is suspended (by a call
62426241
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6281,7 +6280,7 @@
62816280
the initialization of the entities captured by copy and
62826281
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
62836282
\item
6284-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6283+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
62856284
the constituent expressions of each default argument\iref{dcl.fct.default}
62866285
used in the call, or
62876286
\item
@@ -6312,7 +6311,7 @@
63126311
A \defn{full-expression} is
63136312
\begin{itemize}
63146313
\item
6315-
an unevaluated operand\iref{expr.context},
6314+
an \deflink{unevaluated operand}{expr.context},
63166315
\item
63176316
a \grammarterm{constant-expression}\iref{expr.const},
63186317
\item

0 commit comments

Comments
 (0)