Skip to content

Commit fdbbfe6

Browse files
committed
Use new link macros.
1 parent 951b5ba commit fdbbfe6

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
@@ -155,7 +155,7 @@
155155
\indextext{linkage}%
156156
A name used in more than one translation unit can potentially
157157
refer to the same entity in these translation units depending on the
158-
linkage\iref{basic.link} of the name specified in each
158+
\link{linkage}{basic.link} of the name specified in each
159159
translation unit.
160160

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

@@ -264,7 +264,7 @@
264264
\item it is
265265
an explicit instantiation declaration\iref{temp.explicit}, or
266266
\item it is
267-
an explicit specialization\iref{temp.expl.spec} whose
267+
an \link{explicit specialization}{temp.expl.spec} whose
268268
\grammarterm{declaration} is not a definition.
269269
\end{itemize}
270270
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -306,7 +306,7 @@
306306
default constructor\iref{class.default.ctor},
307307
copy constructor, move constructor\iref{class.copy.ctor},
308308
copy assignment operator, move assignment operator\iref{class.copy.assign},
309-
or destructor\iref{class.dtor} member functions.
309+
or \link{destructor}{class.dtor} member functions.
310310
\end{note}
311311
\begin{example}
312312
Given
@@ -391,7 +391,7 @@
391391
an \grammarterm{id-expression}\iref{expr.prim.id} or
392392
a \grammarterm{splice-expression}\iref{expr.prim.splice}, the set
393393
contains only $E$.
394-
\item If $E$ is a subscripting operation\iref{expr.sub} with
394+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
395395
an array operand, the set contains the potential results of that operand.
396396
\item If $E$ is a class member access
397397
expression\iref{expr.ref} of the form
@@ -401,16 +401,15 @@
401401
\item If $E$ is a class member access expression
402402
naming a static data member,
403403
the set contains the \grammarterm{id-expression} designating the data member.
404-
\item If $E$ is a pointer-to-member
405-
expression\iref{expr.mptr.oper} of the form
404+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
406405
$E_1$ \tcode{.*} $E_2$,
407406
the set contains the potential results of $E_1$.
408407
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
409408
potential results of $E_1$.
410-
\item If $E$ is a glvalue conditional
411-
expression\iref{expr.cond}, the set is the union of the sets of
409+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
410+
the set is the union of the sets of
412411
potential results of the second and third operands.
413-
\item If $E$ is a comma expression\iref{expr.comma}, the set
412+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
414413
contains the potential results of the right operand.
415414
\item Otherwise, the set is empty.
416415
\end{itemize}
@@ -572,8 +571,8 @@
572571
copy assignment or move assignment function for another class as specified
573572
in~\ref{class.copy.assign}.
574573
A constructor for a class is odr-used as specified
575-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
576-
invoked\iref{class.dtor}.
574+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
575+
\deflink{potentially invoked}{class.dtor}.
577576

578577
\pnum
579578
A local entity\iref{basic.pre}
@@ -645,7 +644,7 @@
645644
\pnum
646645
Every program shall contain at least one definition of every
647646
function or variable that is odr-used in that program
648-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
647+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
649648
The definition can appear explicitly in the program, it can be found in
650649
the standard or a user-defined library, or (when appropriate) it is
651650
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -693,9 +692,9 @@
693692
describe in which contexts complete class types are required. A class
694693
type \tcode{T} must be complete if
695694
\begin{itemize}
696-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
697-
\item a non-static class data member of type \tcode{T} is
698-
declared\iref{class.mem}, or
695+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
696+
\item a non-static class \deflink{data member}{class.mem} of
697+
type \tcode{T} is declared, or
699698
\item \tcode{T} is used as the allocated type or array element type in a
700699
\grammarterm{new-expression}\iref{expr.new}, or
701700
\item an lvalue-to-rvalue conversion is applied to
@@ -715,7 +714,7 @@
715714
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
716715
type \tcode{T}, or
717716
\item a function with a return type or argument type of type \tcode{T}
718-
is defined\iref{basic.def} or called\iref{expr.call}, or
717+
is defined\iref{basic.def} or \link{called}{expr.call}, or
719718
\item a class with a base class of type \tcode{T} is
720719
defined\iref{class.derived}, or
721720
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -770,7 +769,7 @@
770769
a non-volatile const object with internal or no linkage if the object
771770
\begin{itemize}
772771
\item has the same literal type in all definitions of \tcode{D},
773-
\item is initialized with a constant expression\iref{expr.const},
772+
\item is initialized with a \link{constant expression}{expr.const},
774773
\item is not odr-used in any definition of \tcode{D}, and
775774
\item has the same value in all definitions of \tcode{D},
776775
\end{itemize}
@@ -2876,7 +2875,7 @@
28762875
\pnum
28772876
\indextext{program}%
28782877
\indextext{linking}%
2879-
A \defn{program} consists of one or more translation units\iref{lex.separate}
2878+
A \defn{program} consists of one or more \deflinkx{translation units}{translation unit}{lex.separate}
28802879
linked together. A translation unit consists
28812880
of a sequence of declarations.
28822881

@@ -2909,7 +2908,7 @@
29092908
\indextext{linkage!\idxcode{inline} and}%
29102909
\indextext{\idxcode{inline}!linkage of}%
29112910
The name of an entity
2912-
that belongs to a namespace scope\iref{basic.scope.namespace}
2911+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29132912
has internal linkage if it is the name of
29142913
\begin{itemize}
29152914
\item
@@ -2950,7 +2949,7 @@
29502949
purposes\iref{dcl.typedef}; or
29512950
\item
29522951
\indextext{enumeration!linkage of}%
2953-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2952+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29542953
in a typedef declaration in which the enumeration has the typedef name
29552954
for linkage purposes\iref{dcl.typedef}; or
29562955
\item an unnamed enumeration
@@ -3026,7 +3025,7 @@
30263025
\pnum
30273026
\indextext{linkage!no}%
30283027
Names not covered by these rules have no linkage. Moreover, except as
3029-
noted, a name declared at block scope\iref{basic.scope.block} has no
3028+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30303029
linkage.
30313030

30323031
\pnum
@@ -3384,8 +3383,8 @@
33843383
involve additional memory locations that are not accessible to programs but are
33853384
managed by the implementation.
33863385
\end{note}
3387-
Two or more threads of
3388-
execution\iref{intro.multithread} can access separate memory
3386+
Two or more \deflinkx{threads of
3387+
execution}{thread of execution}{intro.multithread} can access separate memory
33893388
locations without interfering with each other.
33903389

33913390
\pnum
@@ -3429,15 +3428,15 @@
34293428
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34303429
manipulate objects.
34313430
An \defn{object} is created
3432-
by a definition\iref{basic.def},
3431+
by a \link{definition}{basic.def},
34333432
by a \grammarterm{new-expression}\iref{expr.new},
34343433
by an operation that implicitly creates objects (see below),
3435-
when implicitly changing the active member of a union\iref{class.union},
3434+
when implicitly changing the active member of a \link{union}{class.union},
34363435
or
34373436
when a temporary object is created\iref{conv.rval,class.temporary}.
34383437
An object occupies a region of storage
34393438
in its period of construction\iref{class.cdtor},
3440-
throughout its lifetime\iref{basic.life},
3439+
throughout its \link{lifetime}{basic.life},
34413440
and
34423441
in its period of destruction\iref{class.cdtor}.
34433442
\begin{note}
@@ -3567,7 +3566,7 @@
35673566
\begin{itemize}
35683567
\item a base class subobject, or
35693568
\item a non-static data member
3570-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3569+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
35713570
\end{itemize}
35723571

35733572
\pnum
@@ -3588,7 +3587,7 @@
35883587
are \impldef{which non-standard-layout objects
35893588
containing no data are considered empty}.
35903589
\indextext{most derived object!bit-field}%
3591-
Unless it is a bit-field\iref{class.bit},
3590+
Unless it is a \link{bit-field}{class.bit},
35923591
an object with nonzero size
35933592
shall occupy one or more bytes of storage,
35943593
including every byte that is occupied in full or in part
@@ -4161,16 +4160,16 @@
41614160
is produced by the evaluation of:
41624161
\begin{itemize}
41634162
\item
4164-
the second or third operand of a conditional expression\iref{expr.cond},
4163+
the second or third operand of a \link{conditional expression}{expr.cond},
41654164
\item
4166-
the right operand of a comma expression\iref{expr.comma},
4165+
the right operand of a \link{comma expression}{expr.comma},
41674166
\item
41684167
the operand of a cast or conversion\iref{conv.integral,
41694168
expr.type.conv,expr.static.cast,expr.cast}
41704169
to an unsigned ordinary character type
41714170
or \tcode{std::byte} type\iref{cstddef.syn}, or
41724171
\item
4173-
a discarded-value expression\iref{expr.context},
4172+
a \deflink{discarded-value expression}{expr.context},
41744173
\end{itemize}
41754174
then the result of the operation is an indeterminate value or
41764175
that erroneous value, respectively.
@@ -4361,8 +4360,8 @@
43614360
\indextext{storage duration!dynamic|(}
43624361

43634362
\pnum
4364-
Objects can be created dynamically during program
4365-
execution\iref{intro.execution}, using
4363+
Objects can be created dynamically during \link{program
4364+
execution}{intro.execution}, using
43664365
\indextext{\idxcode{new}}%
43674366
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
43684367
\indextext{\idxcode{delete}}%
@@ -4526,9 +4525,9 @@
45264525
\tcode{std::bad_alloc}\iref{bad.alloc}.
45274526

45284527
\pnum
4529-
A global allocation function is only called as the result of a new
4530-
expression\iref{expr.new}, or called directly using the function call
4531-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4528+
A global allocation function is only called as the result of a \link{new
4529+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4530+
syntax, or called indirectly to allocate storage for
45324531
a coroutine state\iref{dcl.fct.def.coroutine},
45334532
or called indirectly through calls to the
45344533
functions in the \Cpp{} standard library.
@@ -5034,9 +5033,9 @@
50345033
impose requirements on implementations regarding the representation
50355034
of types.
50365035
There are two kinds of types: fundamental types and compound types.
5037-
Types describe objects\iref{intro.object},
5038-
references\iref{dcl.ref},
5039-
or functions\iref{dcl.fct}.
5036+
Types describe \link{objects}{intro.object},
5037+
\link{references}{dcl.ref},
5038+
or \link{functions}{dcl.fct}.
50405039
\end{note}
50415040

50425041
\pnum
@@ -5210,7 +5209,7 @@
52105209
pointer types, pointer-to-member types\iref{basic.compound},
52115210
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
52125211
and
5213-
cv-qualified\iref{basic.type.qualifier} versions of these
5212+
\link{cv-qualified}{basic.type.qualifier} versions of these
52145213
types are collectively called
52155214
\defnadjx{scalar}{types}{type}.
52165215
\label{term.trivially.copyable.type}%
@@ -5243,7 +5242,7 @@
52435242
\item a scalar type; or
52445243
\item a reference type; or
52455244
\item an array of literal type; or
5246-
\item a possibly cv-qualified class type\iref{class} that
5245+
\item a possibly cv-qualified \link{class type}{class} that
52475246
has all of the following properties:
52485247
\begin{itemize}
52495248
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5277,8 +5276,8 @@
52775276
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
52785277
\defnadjx{layout-compatible}{types}{type}
52795278
if \tcode{T1} and \tcode{T2} are the same type,
5280-
layout-compatible enumerations\iref{dcl.enum}, or
5281-
layout-compatible standard-layout class types\iref{class.mem}.
5279+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5280+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
52825281

52835282
\pnum
52845283
A type is \defn{consteval-only} if it is either
@@ -5831,7 +5830,7 @@
58315830
which identify members of a given
58325831
type within objects of a given class, \ref{dcl.mptr}.
58335832
Pointers to data members and pointers to member functions are collectively
5834-
called \term{pointer-to-member} types.
5833+
called \defn{pointer-to-member} types.
58355834
\end{itemize}
58365835

58375836
\pnum
@@ -5909,7 +5908,7 @@
59095908
have the same value representation and alignment
59105909
requirements\iref{basic.align}.
59115910
\begin{note}
5912-
Pointers to over-aligned types\iref{basic.align} have no special
5911+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
59135912
representation, but their range of valid values is restricted by the extended
59145913
alignment requirement.
59155914
\end{note}
@@ -6224,8 +6223,8 @@
62246223
\indextext{program execution|(}
62256224

62266225
\pnum
6227-
An instance of each object with automatic storage
6228-
duration\iref{basic.stc.auto} is associated with each entry into its
6226+
An instance of each object with \link{automatic storage
6227+
duration}{basic.stc.auto} is associated with each entry into its
62296228
block. Such an object exists and retains its last-stored value during
62306229
the execution of the block and while the block is suspended (by a call
62316230
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6270,7 +6269,7 @@
62706269
the initialization of the entities captured by copy and
62716270
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
62726271
\item
6273-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6272+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
62746273
the constituent expressions of each default argument\iref{dcl.fct.default}
62756274
used in the call, or
62766275
\item
@@ -6301,7 +6300,7 @@
63016300
A \defn{full-expression} is
63026301
\begin{itemize}
63036302
\item
6304-
an unevaluated operand\iref{expr.context},
6303+
an \deflink{unevaluated operand}{expr.context},
63056304
\item
63066305
a \grammarterm{constant-expression}\iref{expr.const},
63076306
\item

0 commit comments

Comments
 (0)