Skip to content

Commit dd56150

Browse files
committed
Use new link macros.
1 parent 13f2902 commit dd56150

27 files changed

+606
-615
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: 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
@@ -411,16 +411,15 @@
411411
\item If $E$ is a class member access expression
412412
naming a static data member,
413413
the set contains the \grammarterm{id-expression} designating the data member.
414-
\item If $E$ is a pointer-to-member
415-
expression\iref{expr.mptr.oper} of the form
414+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
416415
$E_1$ \tcode{.*} $E_2$,
417416
the set contains the potential results of $E_1$.
418417
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
419418
potential results of $E_1$.
420-
\item If $E$ is a glvalue conditional
421-
expression\iref{expr.cond}, the set is the union of the sets of
419+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
420+
the set is the union of the sets of
422421
potential results of the second and third operands.
423-
\item If $E$ is a comma expression\iref{expr.comma}, the set
422+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
424423
contains the potential results of the right operand.
425424
\item Otherwise, the set is empty.
426425
\end{itemize}
@@ -582,8 +581,8 @@
582581
copy assignment or move assignment function for another class as specified
583582
in~\ref{class.copy.assign}.
584583
A constructor for a class is odr-used as specified
585-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
586-
invoked\iref{class.dtor}.
584+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
585+
\deflink{potentially invoked}{class.dtor}.
587586

588587
\pnum
589588
A local entity\iref{basic.pre}
@@ -655,7 +654,7 @@
655654
\pnum
656655
Every program shall contain at least one definition of every
657656
function or variable that is odr-used in that program
658-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
657+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
659658
The definition can appear explicitly in the program, it can be found in
660659
the standard or a user-defined library, or (when appropriate) it is
661660
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -703,9 +702,9 @@
703702
describe in which contexts complete class types are required. A class
704703
type \tcode{T} must be complete if
705704
\begin{itemize}
706-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
707-
\item a non-static class data member of type \tcode{T} is
708-
declared\iref{class.mem}, or
705+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
706+
\item a non-static class \deflink{data member}{class.mem} of
707+
type \tcode{T} is declared, or
709708
\item \tcode{T} is used as the allocated type or array element type in a
710709
\grammarterm{new-expression}\iref{expr.new}, or
711710
\item an lvalue-to-rvalue conversion is applied to
@@ -725,7 +724,7 @@
725724
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
726725
type \tcode{T}, or
727726
\item a function with a return type or argument type of type \tcode{T}
728-
is defined\iref{basic.def} or called\iref{expr.call}, or
727+
is defined\iref{basic.def} or \link{called}{expr.call}, or
729728
\item a class with a base class of type \tcode{T} is
730729
defined\iref{class.derived}, or
731730
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -780,7 +779,7 @@
780779
a non-volatile const object with internal or no linkage if the object
781780
\begin{itemize}
782781
\item has the same literal type in all definitions of \tcode{D},
783-
\item is initialized with a constant expression\iref{expr.const},
782+
\item is initialized with a \link{constant expression}{expr.const},
784783
\item is not odr-used in any definition of \tcode{D}, and
785784
\item has the same value in all definitions of \tcode{D},
786785
\end{itemize}
@@ -2919,7 +2918,7 @@
29192918
\indextext{linkage!\idxcode{inline} and}%
29202919
\indextext{\idxcode{inline}!linkage of}%
29212920
The name of an entity
2922-
that belongs to a namespace scope\iref{basic.scope.namespace}
2921+
that belongs to a \link{namespace scope}{basic.scope.namespace}
29232922
has internal linkage if it is the name of
29242923
\begin{itemize}
29252924
\item
@@ -2960,7 +2959,7 @@
29602959
purposes\iref{dcl.typedef}; or
29612960
\item
29622961
\indextext{enumeration!linkage of}%
2963-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2962+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
29642963
in a typedef declaration in which the enumeration has the typedef name
29652964
for linkage purposes\iref{dcl.typedef}; or
29662965
\item an unnamed enumeration
@@ -3036,7 +3035,7 @@
30363035
\pnum
30373036
\indextext{linkage!no}%
30383037
Names not covered by these rules have no linkage. Moreover, except as
3039-
noted, a name declared at block scope\iref{basic.scope.block} has no
3038+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
30403039
linkage.
30413040

30423041
\pnum
@@ -3394,8 +3393,8 @@
33943393
involve additional memory locations that are not accessible to programs but are
33953394
managed by the implementation.
33963395
\end{note}
3397-
Two or more threads of
3398-
execution\iref{intro.multithread} can access separate memory
3396+
Two or more \deflinkx{threads of
3397+
execution}{thread of execution}{intro.multithread} can access separate memory
33993398
locations without interfering with each other.
34003399

34013400
\pnum
@@ -3439,15 +3438,15 @@
34393438
The constructs in a \Cpp{} program create, destroy, refer to, access, and
34403439
manipulate objects.
34413440
An \defn{object} is created
3442-
by a definition\iref{basic.def},
3441+
by a \link{definition}{basic.def},
34433442
by a \grammarterm{new-expression}\iref{expr.new},
34443443
by an operation that implicitly creates objects (see below),
3445-
when implicitly changing the active member of a union\iref{class.union},
3444+
when implicitly changing the active member of a \link{union}{class.union},
34463445
or
34473446
when a temporary object is created\iref{conv.rval,class.temporary}.
34483447
An object occupies a region of storage
34493448
in its period of construction\iref{class.cdtor},
3450-
throughout its lifetime\iref{basic.life},
3449+
throughout its \link{lifetime}{basic.life},
34513450
and
34523451
in its period of destruction\iref{class.cdtor}.
34533452
\begin{note}
@@ -3577,7 +3576,7 @@
35773576
\begin{itemize}
35783577
\item a base class subobject, or
35793578
\item a non-static data member
3580-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3579+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
35813580
\end{itemize}
35823581

35833582
\pnum
@@ -3598,7 +3597,7 @@
35983597
are \impldef{which non-standard-layout objects
35993598
containing no data are considered empty}.
36003599
\indextext{most derived object!bit-field}%
3601-
Unless it is a bit-field\iref{class.bit},
3600+
Unless it is a \link{bit-field}{class.bit},
36023601
an object with nonzero size
36033602
shall occupy one or more bytes of storage,
36043603
including every byte that is occupied in full or in part
@@ -4174,16 +4173,16 @@
41744173
is produced by the evaluation of:
41754174
\begin{itemize}
41764175
\item
4177-
the second or third operand of a conditional expression\iref{expr.cond},
4176+
the second or third operand of a \link{conditional expression}{expr.cond},
41784177
\item
4179-
the right operand of a comma expression\iref{expr.comma},
4178+
the right operand of a \link{comma expression}{expr.comma},
41804179
\item
41814180
the operand of a cast or conversion\iref{conv.integral,
41824181
expr.type.conv,expr.static.cast,expr.cast}
41834182
to an unsigned ordinary character type
41844183
or \tcode{std::byte} type\iref{cstddef.syn}, or
41854184
\item
4186-
a discarded-value expression\iref{expr.context},
4185+
a \deflink{discarded-value expression}{expr.context},
41874186
\end{itemize}
41884187
then the result of the operation is an indeterminate value or
41894188
that erroneous value, respectively.
@@ -4374,8 +4373,8 @@
43744373
\indextext{storage duration!dynamic|(}
43754374

43764375
\pnum
4377-
Objects can be created dynamically during program
4378-
execution\iref{intro.execution}, using
4376+
Objects can be created dynamically during \link{program
4377+
execution}{intro.execution}, using
43794378
\indextext{\idxcode{new}}%
43804379
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
43814380
\indextext{\idxcode{delete}}%
@@ -4539,9 +4538,9 @@
45394538
\tcode{std::bad_alloc}\iref{bad.alloc}.
45404539

45414540
\pnum
4542-
A global allocation function is only called as the result of a new
4543-
expression\iref{expr.new}, or called directly using the function call
4544-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4541+
A global allocation function is only called as the result of a \link{new
4542+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4543+
syntax, or called indirectly to allocate storage for
45454544
a coroutine state\iref{dcl.fct.def.coroutine},
45464545
or called indirectly through calls to the
45474546
functions in the \Cpp{} standard library.
@@ -5047,9 +5046,9 @@
50475046
impose requirements on implementations regarding the representation
50485047
of types.
50495048
There are two kinds of types: fundamental types and compound types.
5050-
Types describe objects\iref{intro.object},
5051-
references\iref{dcl.ref},
5052-
or functions\iref{dcl.fct}.
5049+
Types describe \link{objects}{intro.object},
5050+
\link{references}{dcl.ref},
5051+
or \link{functions}{dcl.fct}.
50535052
\end{note}
50545053

50555054
\pnum
@@ -5223,7 +5222,7 @@
52235222
pointer types, pointer-to-member types\iref{basic.compound},
52245223
\tcode{std::meta::\brk{}info}, \tcode{std::nullptr_t},
52255224
and
5226-
cv-qualified\iref{basic.type.qualifier} versions of these
5225+
\link{cv-qualified}{basic.type.qualifier} versions of these
52275226
types are collectively called
52285227
\defnadjx{scalar}{types}{type}.
52295228
\label{term.trivially.copyable.type}%
@@ -5257,7 +5256,7 @@
52575256
\item a scalar type; or
52585257
\item a reference type; or
52595258
\item an array of literal type; or
5260-
\item a possibly cv-qualified class type\iref{class} that
5259+
\item a possibly cv-qualified \link{class type}{class} that
52615260
has all of the following properties:
52625261
\begin{itemize}
52635262
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5291,8 +5290,8 @@
52915290
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
52925291
\defnadjx{layout-compatible}{types}{type}
52935292
if \tcode{T1} and \tcode{T2} are the same type,
5294-
layout-compatible enumerations\iref{dcl.enum}, or
5295-
layout-compatible standard-layout class types\iref{class.mem}.
5293+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5294+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
52965295

52975296
\pnum
52985297
A type is \defn{consteval-only} if it is either
@@ -5849,7 +5848,7 @@
58495848
which identify members of a given
58505849
type within objects of a given class, \ref{dcl.mptr}.
58515850
Pointers to data members and pointers to member functions are collectively
5852-
called \term{pointer-to-member} types.
5851+
called \defn{pointer-to-member} types.
58535852
\end{itemize}
58545853

58555854
\pnum
@@ -5927,7 +5926,7 @@
59275926
have the same value representation and alignment
59285927
requirements\iref{basic.align}.
59295928
\begin{note}
5930-
Pointers to over-aligned types\iref{basic.align} have no special
5929+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
59315930
representation, but their range of valid values is restricted by the extended
59325931
alignment requirement.
59335932
\end{note}
@@ -6242,8 +6241,8 @@
62426241
\indextext{program execution|(}
62436242

62446243
\pnum
6245-
An instance of each object with automatic storage
6246-
duration\iref{basic.stc.auto} is associated with each entry into its
6244+
An instance of each object with \link{automatic storage
6245+
duration}{basic.stc.auto} is associated with each entry into its
62476246
block. Such an object exists and retains its last-stored value during
62486247
the execution of the block and while the block is suspended (by a call
62496248
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -6288,7 +6287,7 @@
62886287
the initialization of the entities captured by copy and
62896288
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
62906289
\item
6291-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
6290+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
62926291
the constituent expressions of each default argument\iref{dcl.fct.default}
62936292
used in the call, or
62946293
\item
@@ -6319,7 +6318,7 @@
63196318
A \defn{full-expression} is
63206319
\begin{itemize}
63216320
\item
6322-
an unevaluated operand\iref{expr.context},
6321+
an \deflink{unevaluated operand}{expr.context},
63236322
\item
63246323
a \grammarterm{constant-expression}\iref{expr.const},
63256324
\item

0 commit comments

Comments
 (0)