Skip to content

Commit 07fb79a

Browse files
committed
Use new link macros.
1 parent 04d5692 commit 07fb79a

27 files changed

+640
-654
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
@@ -8106,7 +8106,7 @@
81068106

81078107
\pnum
81088108
\remarks
8109-
Stable\iref{algorithm.stable}.
8109+
\link{Stable}{algorithm.stable}.
81108110
\end{itemdescr}
81118111

81128112
\begin{itemdecl}

source/basic.tex

Lines changed: 57 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@
9797

9898
\pnum
9999
A \defnadj{local}{entity} is a variable with
100-
automatic storage duration\iref{basic.stc.auto},
101-
a structured binding\iref{dcl.struct.bind}
100+
\link{automatic storage duration}{basic.stc.auto},
101+
a \link{structured binding}{dcl.struct.bind}
102102
whose corresponding variable is such an entity,
103103
or the \tcode{*\keyword{this}} object\iref{expr.prim.this}.
104104

@@ -128,7 +128,7 @@
128128
\indextext{linkage}%
129129
A name used in more than one translation unit can potentially
130130
refer to the same entity in these translation units depending on the
131-
linkage\iref{basic.link} of the name specified in each
131+
\link{linkage}{basic.link} of the name specified in each
132132
translation unit.
133133

134134
\rSec1[basic.def]{Declarations and definitions}
@@ -137,7 +137,7 @@
137137
\indextext{declaration!definition versus}%
138138
\indextext{declaration}%
139139
\indextext{declaration!name}%
140-
A declaration\iref{dcl.dcl} may (re)introduce
140+
A \link{declaration}{dcl.dcl} may (re)introduce
141141
one or more names and/or entities into a translation
142142
unit.
143143
If so, the
@@ -150,7 +150,7 @@
150150
\item a static assertion\iref{dcl.pre},
151151
\item controlling template instantiation\iref{temp.explicit},
152152
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
153-
\item use of attributes\iref{dcl.attr}, and
153+
\item use of \link{attributes}{dcl.attr}, and
154154
\item nothing (in the case of an \grammarterm{empty-declaration}).
155155
\end{itemize}
156156

@@ -234,7 +234,7 @@
234234
\item it is
235235
an explicit instantiation declaration\iref{temp.explicit}, or
236236
\item it is
237-
an explicit specialization\iref{temp.expl.spec} whose
237+
an \link{explicit specialization}{temp.expl.spec} whose
238238
\grammarterm{declaration} is not a definition.
239239
\end{itemize}
240240
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -276,7 +276,7 @@
276276
default constructor\iref{class.default.ctor},
277277
copy constructor, move constructor\iref{class.copy.ctor},
278278
copy assignment operator, move assignment operator\iref{class.copy.assign},
279-
or destructor\iref{class.dtor} member functions.
279+
or \link{destructor}{class.dtor} member functions.
280280
\end{note}
281281
\begin{example}
282282
Given
@@ -360,7 +360,7 @@
360360
\item If $E$ is an
361361
\grammarterm{id-expression}\iref{expr.prim.id}, the set
362362
contains only $E$.
363-
\item If $E$ is a subscripting operation\iref{expr.sub} with
363+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
364364
an array operand, the set contains the potential results of that operand.
365365
\item If $E$ is a class member access
366366
expression\iref{expr.ref} of the form
@@ -370,16 +370,15 @@
370370
\item If $E$ is a class member access expression
371371
naming a static data member,
372372
the set contains the \grammarterm{id-expression} designating the data member.
373-
\item If $E$ is a pointer-to-member
374-
expression\iref{expr.mptr.oper} of the form
373+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
375374
$E_1$ \tcode{.*} $E_2$,
376375
the set contains the potential results of $E_1$.
377376
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
378377
potential results of $E_1$.
379-
\item If $E$ is a glvalue conditional
380-
expression\iref{expr.cond}, the set is the union of the sets of
378+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
379+
the set is the union of the sets of
381380
potential results of the second and third operands.
382-
\item If $E$ is a comma expression\iref{expr.comma}, the set
381+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
383382
contains the potential results of the right operand.
384383
\item Otherwise, the set is empty.
385384
\end{itemize}
@@ -529,8 +528,8 @@
529528
copy assignment or move assignment function for another class as specified
530529
in~\ref{class.copy.assign}.
531530
A constructor for a class is odr-used as specified
532-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
533-
invoked\iref{class.dtor}.
531+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
532+
\deflink{potentially invoked}{class.dtor}.
534533

535534
\pnum
536535
A local entity\iref{basic.pre}
@@ -601,7 +600,7 @@
601600
\pnum
602601
Every program shall contain at least one definition of every
603602
function or variable that is odr-used in that program
604-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
603+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
605604
The definition can appear explicitly in the program, it can be found in
606605
the standard or a user-defined library, or (when appropriate) it is
607606
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -649,9 +648,9 @@
649648
describe in which contexts complete class types are required. A class
650649
type \tcode{T} must be complete if
651650
\begin{itemize}
652-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
653-
\item a non-static class data member of type \tcode{T} is
654-
declared\iref{class.mem}, or
651+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
652+
\item a non-static class \deflink{data member}{class.mem} of
653+
type \tcode{T} is declared, or
655654
\item \tcode{T} is used as the allocated type or array element type in a
656655
\grammarterm{new-expression}\iref{expr.new}, or
657656
\item an lvalue-to-rvalue conversion is applied to
@@ -671,10 +670,10 @@
671670
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
672671
type \tcode{T}, or
673672
\item a function with a return type or argument type of type \tcode{T}
674-
is defined\iref{basic.def} or called\iref{expr.call}, or
673+
is defined\iref{basic.def} or \link{called}{expr.call}, or
675674
\item a class with a base class of type \tcode{T} is
676675
defined\iref{class.derived}, or
677-
\item an lvalue of type \tcode{T} is assigned to\iref{expr.ass}, or
676+
\item an lvalue of type \tcode{T} is \link{assigned to}{expr.ass}, or
678677
\item the type \tcode{T} is the subject of an
679678
\keyword{alignof} expression\iref{expr.alignof}, or
680679
\item an \grammarterm{exception-declaration} has type \tcode{T}, reference to
@@ -717,7 +716,7 @@
717716
a non-volatile const object with internal or no linkage if the object
718717
\begin{itemize}
719718
\item has the same literal type in all definitions of \tcode{D},
720-
\item is initialized with a constant expression\iref{expr.const},
719+
\item is initialized with a \link{constant expression}{expr.const},
721720
\item is not odr-used in any definition of \tcode{D}, and
722721
\item has the same value in all definitions of \tcode{D},
723722
\end{itemize}
@@ -2691,7 +2690,7 @@
26912690

26922691
\pnum
26932692
\indextext{program}%
2694-
A \defn{program} consists of one or more translation units\iref{lex.separate}
2693+
A \defn{program} consists of one or more \deflinkx{translation units}{translation unit}{lex.separate}
26952694
linked together. A translation unit consists
26962695
of a sequence of declarations.
26972696

@@ -2724,7 +2723,7 @@
27242723
\indextext{linkage!\idxcode{inline} and}%
27252724
\indextext{\idxcode{inline}!linkage of}%
27262725
The name of an entity
2727-
that belongs to a namespace scope\iref{basic.scope.namespace}
2726+
that belongs to a \link{namespace scope}{basic.scope.namespace}
27282727
has internal linkage if it is the name of
27292728
\begin{itemize}
27302729
\item
@@ -2765,7 +2764,7 @@
27652764
purposes\iref{dcl.typedef}; or
27662765
\item
27672766
\indextext{enumeration!linkage of}%
2768-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2767+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
27692768
in a typedef declaration in which the enumeration has the typedef name
27702769
for linkage purposes\iref{dcl.typedef}; or
27712770
\item an unnamed enumeration
@@ -2841,7 +2840,7 @@
28412840
\pnum
28422841
\indextext{linkage!no}%
28432842
Names not covered by these rules have no linkage. Moreover, except as
2844-
noted, a name declared at block scope\iref{basic.scope.block} has no
2843+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
28452844
linkage.
28462845

28472846
\pnum
@@ -3163,8 +3162,8 @@
31633162
involve additional memory locations that are not accessible to programs but are
31643163
managed by the implementation.
31653164
\end{note}
3166-
Two or more threads of
3167-
execution\iref{intro.multithread} can access separate memory
3165+
Two or more \deflinkx{threads of
3166+
execution}{thread of execution}{intro.multithread} can access separate memory
31683167
locations without interfering with each other.
31693168

31703169
\pnum
@@ -3208,15 +3207,15 @@
32083207
The constructs in a \Cpp{} program create, destroy, refer to, access, and
32093208
manipulate objects.
32103209
An \defn{object} is created
3211-
by a definition\iref{basic.def},
3210+
by a \link{definition}{basic.def},
32123211
by a \grammarterm{new-expression}\iref{expr.new},
32133212
by an operation that implicitly creates objects (see below),
3214-
when implicitly changing the active member of a union\iref{class.union},
3213+
when implicitly changing the active member of a \link{union}{class.union},
32153214
or
32163215
when a temporary object is created\iref{conv.rval,class.temporary}.
32173216
An object occupies a region of storage
32183217
in its period of construction\iref{class.cdtor},
3219-
throughout its lifetime\iref{basic.life},
3218+
throughout its \link{lifetime}{basic.life},
32203219
and
32213220
in its period of destruction\iref{class.cdtor}.
32223221
\begin{note}
@@ -3346,7 +3345,7 @@
33463345
\begin{itemize}
33473346
\item a base class subobject, or
33483347
\item a non-static data member
3349-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3348+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
33503349
\end{itemize}
33513350

33523351
\pnum
@@ -3367,7 +3366,7 @@
33673366
are \impldef{which non-standard-layout objects
33683367
containing no data are considered empty}.
33693368
\indextext{most derived object!bit-field}%
3370-
Unless it is a bit-field\iref{class.bit},
3369+
Unless it is a \link{bit-field}{class.bit},
33713370
an object with nonzero size
33723371
shall occupy one or more bytes of storage,
33733372
including every byte that is occupied in full or in part
@@ -3932,16 +3931,16 @@
39323931
is produced by the evaluation of:
39333932
\begin{itemize}
39343933
\item
3935-
the second or third operand of a conditional expression\iref{expr.cond},
3934+
the second or third operand of a \link{conditional expression}{expr.cond},
39363935
\item
3937-
the right operand of a comma expression\iref{expr.comma},
3936+
the right operand of a \link{comma expression}{expr.comma},
39383937
\item
39393938
the operand of a cast or conversion\iref{conv.integral,
39403939
expr.type.conv,expr.static.cast,expr.cast}
39413940
to an unsigned ordinary character type
39423941
or \tcode{std::byte} type\iref{cstddef.syn}, or
39433942
\item
3944-
a discarded-value expression\iref{expr.context},
3943+
a \deflink{discarded-value expression}{expr.context},
39453944
\end{itemize}
39463945
then the result of the operation is an indeterminate value or
39473946
that erroneous value, respectively.
@@ -4132,8 +4131,8 @@
41324131
\indextext{storage duration!dynamic|(}
41334132

41344133
\pnum
4135-
Objects can be created dynamically during program
4136-
execution\iref{intro.execution}, using
4134+
Objects can be created dynamically during \link{program
4135+
execution}{intro.execution}, using
41374136
\indextext{\idxcode{new}}%
41384137
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
41394138
\indextext{\idxcode{delete}}%
@@ -4302,19 +4301,19 @@
43024301
\tcode{std::bad_alloc}\iref{bad.alloc}.
43034302

43044303
\pnum
4305-
A global allocation function is only called as the result of a new
4306-
expression\iref{expr.new}, or called directly using the function call
4307-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4304+
A global allocation function is only called as the result of a \link{new
4305+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4306+
syntax, or called indirectly to allocate storage for
43084307
a coroutine state\iref{dcl.fct.def.coroutine},
43094308
or called indirectly through calls to the
43104309
functions in the \Cpp{} standard library.
43114310
\begin{note}
43124311
In particular, a
43134312
global allocation function is not called to allocate storage for objects
4314-
with static storage duration\iref{basic.stc.static}, for objects or references
4315-
with thread storage duration\iref{basic.stc.thread}, for objects of
4316-
type \tcode{std::type_info}\iref{expr.typeid}, or for an
4317-
exception object\iref{except.throw}.
4313+
with \link{static storage duration}{basic.stc.static}, for objects or references
4314+
with \link{thread storage duration}{basic.stc.thread}, for objects of
4315+
type \link{\tcode{std::type_info}}{expr.typeid}, or for an
4316+
\link{exception object}{except.throw}.
43184317
\end{note}
43194318

43204319
\rSec4[basic.stc.dynamic.deallocation]{Deallocation functions}
@@ -4778,9 +4777,9 @@
47784777
impose requirements on implementations regarding the representation
47794778
of types.
47804779
There are two kinds of types: fundamental types and compound types.
4781-
Types describe objects\iref{intro.object},
4782-
references\iref{dcl.ref},
4783-
or functions\iref{dcl.fct}.
4780+
Types describe \link{objects}{intro.object},
4781+
\link{references}{dcl.ref},
4782+
or \link{functions}{dcl.fct}.
47844783
\end{note}
47854784

47864785
\pnum
@@ -4954,7 +4953,7 @@
49544953
pointer types, pointer-to-member types\iref{basic.compound},
49554954
\tcode{std::nullptr_t},
49564955
and
4957-
cv-qualified\iref{basic.type.qualifier} versions of these
4956+
\link{cv-qualified}{basic.type.qualifier} versions of these
49584957
types are collectively called
49594958
\defnadjx{scalar}{types}{type}.
49604959
\label{term.trivially.copyable.type}%
@@ -4979,7 +4978,7 @@
49794978
\item a scalar type; or
49804979
\item a reference type; or
49814980
\item an array of literal type; or
4982-
\item a possibly cv-qualified class type\iref{class} that
4981+
\item a possibly cv-qualified \link{class type}{class} that
49834982
has all of the following properties:
49844983
\begin{itemize}
49854984
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5013,8 +5012,8 @@
50135012
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
50145013
\defnadjx{layout-compatible}{types}{type}
50155014
if \tcode{T1} and \tcode{T2} are the same type,
5016-
layout-compatible enumerations\iref{dcl.enum}, or
5017-
layout-compatible standard-layout class types\iref{class.mem}.
5015+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5016+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
50185017

50195018
\rSec2[basic.fundamental]{Fundamental types}
50205019

@@ -5462,7 +5461,7 @@
54625461
which identify members of a given
54635462
type within objects of a given class, \ref{dcl.mptr}.
54645463
Pointers to data members and pointers to member functions are collectively
5465-
called \term{pointer-to-member} types.
5464+
called \defn{pointer-to-member} types.
54665465
\end{itemize}
54675466

54685467
\pnum
@@ -5540,7 +5539,7 @@
55405539
have the same value representation and alignment
55415540
requirements\iref{basic.align}.
55425541
\begin{note}
5543-
Pointers to over-aligned types\iref{basic.align} have no special
5542+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
55445543
representation, but their range of valid values is restricted by the extended
55455544
alignment requirement.
55465545
\end{note}
@@ -5855,8 +5854,8 @@
58555854
\indextext{program execution|(}
58565855

58575856
\pnum
5858-
An instance of each object with automatic storage
5859-
duration\iref{basic.stc.auto} is associated with each entry into its
5857+
An instance of each object with \link{automatic storage
5858+
duration}{basic.stc.auto} is associated with each entry into its
58605859
block. Such an object exists and retains its last-stored value during
58615860
the execution of the block and while the block is suspended (by a call
58625861
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -5901,7 +5900,7 @@
59015900
the initialization of the entities captured by copy and
59025901
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
59035902
\item
5904-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
5903+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
59055904
the constituent expressions of each default argument\iref{dcl.fct.default}
59065905
used in the call, or
59075906
\item
@@ -5932,7 +5931,7 @@
59325931
A \defn{full-expression} is
59335932
\begin{itemize}
59345933
\item
5935-
an unevaluated operand\iref{expr.context},
5934+
an \deflink{unevaluated operand}{expr.context},
59365935
\item
59375936
a \grammarterm{constant-expression}\iref{expr.const},
59385937
\item

0 commit comments

Comments
 (0)