Skip to content

Commit af1161e

Browse files
committed
Use new link macros.
1 parent 26b7c6a commit af1161e

27 files changed

+613
-622
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
@@ -8109,7 +8109,7 @@
81098109

81108110
\pnum
81118111
\remarks
8112-
Stable\iref{algorithm.stable}.
8112+
\link{Stable}{algorithm.stable}.
81138113
\end{itemdescr}
81148114

81158115
\begin{itemdecl}

source/basic.tex

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
\indextext{linkage}%
140140
A name used in more than one translation unit can potentially
141141
refer to the same entity in these translation units depending on the
142-
linkage\iref{basic.link} of the name specified in each
142+
\link{linkage}{basic.link} of the name specified in each
143143
translation unit.
144144

145145
\rSec1[basic.def]{Declarations and definitions}
@@ -162,7 +162,7 @@
162162
\item a static assertion\iref{dcl.pre},
163163
\item controlling template instantiation\iref{temp.explicit},
164164
\item guiding template argument deduction for constructors\iref{temp.deduct.guide},
165-
\item use of attributes\iref{dcl.attr}, and
165+
\item use of \link{attributes}{dcl.attr}, and
166166
\item nothing (in the case of an \grammarterm{empty-declaration}).
167167
\end{itemize}
168168

@@ -246,7 +246,7 @@
246246
\item it is
247247
an explicit instantiation declaration\iref{temp.explicit}, or
248248
\item it is
249-
an explicit specialization\iref{temp.expl.spec} whose
249+
an \link{explicit specialization}{temp.expl.spec} whose
250250
\grammarterm{declaration} is not a definition.
251251
\end{itemize}
252252
A declaration is said to be a \defn{definition} of each entity that it defines.
@@ -288,7 +288,7 @@
288288
default constructor\iref{class.default.ctor},
289289
copy constructor, move constructor\iref{class.copy.ctor},
290290
copy assignment operator, move assignment operator\iref{class.copy.assign},
291-
or destructor\iref{class.dtor} member functions.
291+
or \link{destructor}{class.dtor} member functions.
292292
\end{note}
293293
\begin{example}
294294
Given
@@ -372,7 +372,7 @@
372372
\item If $E$ is an
373373
\grammarterm{id-expression}\iref{expr.prim.id}, the set
374374
contains only $E$.
375-
\item If $E$ is a subscripting operation\iref{expr.sub} with
375+
\item If $E$ is a \link{subscripting}{expr.sub} operation with
376376
an array operand, the set contains the potential results of that operand.
377377
\item If $E$ is a class member access
378378
expression\iref{expr.ref} of the form
@@ -382,16 +382,15 @@
382382
\item If $E$ is a class member access expression
383383
naming a static data member,
384384
the set contains the \grammarterm{id-expression} designating the data member.
385-
\item If $E$ is a pointer-to-member
386-
expression\iref{expr.mptr.oper} of the form
385+
\item If $E$ is a \link{pointer-to-member expression}{expr.mptr.oper} of the form
387386
$E_1$ \tcode{.*} $E_2$,
388387
the set contains the potential results of $E_1$.
389388
\item If $E$ has the form \tcode{($E_1$)}, the set contains the
390389
potential results of $E_1$.
391-
\item If $E$ is a glvalue conditional
392-
expression\iref{expr.cond}, the set is the union of the sets of
390+
\item If $E$ is a glvalue \link{conditional expression}{expr.cond},
391+
the set is the union of the sets of
393392
potential results of the second and third operands.
394-
\item If $E$ is a comma expression\iref{expr.comma}, the set
393+
\item If $E$ is a \link{comma expression}{expr.comma}, the set
395394
contains the potential results of the right operand.
396395
\item Otherwise, the set is empty.
397396
\end{itemize}
@@ -541,8 +540,8 @@
541540
copy assignment or move assignment function for another class as specified
542541
in~\ref{class.copy.assign}.
543542
A constructor for a class is odr-used as specified
544-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
545-
invoked\iref{class.dtor}.
543+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
544+
\deflink{potentially invoked}{class.dtor}.
546545

547546
\pnum
548547
A local entity\iref{basic.pre}
@@ -614,7 +613,7 @@
614613
\pnum
615614
Every program shall contain at least one definition of every
616615
function or variable that is odr-used in that program
617-
outside of a discarded statement\iref{stmt.if}; no diagnostic required.
616+
outside of a \deflink{discarded statement}{stmt.if}; no diagnostic required.
618617
The definition can appear explicitly in the program, it can be found in
619618
the standard or a user-defined library, or (when appropriate) it is
620619
implicitly defined (see~\ref{class.default.ctor}, \ref{class.copy.ctor},
@@ -662,9 +661,9 @@
662661
describe in which contexts complete class types are required. A class
663662
type \tcode{T} must be complete if
664663
\begin{itemize}
665-
\item an object of type \tcode{T} is defined\iref{basic.def}, or
666-
\item a non-static class data member of type \tcode{T} is
667-
declared\iref{class.mem}, or
664+
\item an object of type \tcode{T} is \link{defined}{basic.def}, or
665+
\item a non-static class \deflink{data member}{class.mem} of
666+
type \tcode{T} is declared, or
668667
\item \tcode{T} is used as the allocated type or array element type in a
669668
\grammarterm{new-expression}\iref{expr.new}, or
670669
\item an lvalue-to-rvalue conversion is applied to
@@ -684,7 +683,7 @@
684683
\keyword{sizeof} operator\iref{expr.sizeof} is applied to an operand of
685684
type \tcode{T}, or
686685
\item a function with a return type or argument type of type \tcode{T}
687-
is defined\iref{basic.def} or called\iref{expr.call}, or
686+
is defined\iref{basic.def} or \link{called}{expr.call}, or
688687
\item a class with a base class of type \tcode{T} is
689688
defined\iref{class.derived}, or
690689
\item an lvalue of type \tcode{T} is assigned to\iref{expr.assign}, or
@@ -730,7 +729,7 @@
730729
a non-volatile const object with internal or no linkage if the object
731730
\begin{itemize}
732731
\item has the same literal type in all definitions of \tcode{D},
733-
\item is initialized with a constant expression\iref{expr.const},
732+
\item is initialized with a \link{constant expression}{expr.const},
734733
\item is not odr-used in any definition of \tcode{D}, and
735734
\item has the same value in all definitions of \tcode{D},
736735
\end{itemize}
@@ -2744,7 +2743,7 @@
27442743
\pnum
27452744
\indextext{program}%
27462745
\indextext{linking}%
2747-
A \defn{program} consists of one or more translation units\iref{lex.separate}
2746+
A \defn{program} consists of one or more \deflinkx{translation units}{translation unit}{lex.separate}
27482747
linked together. A translation unit consists
27492748
of a sequence of declarations.
27502749

@@ -2777,7 +2776,7 @@
27772776
\indextext{linkage!\idxcode{inline} and}%
27782777
\indextext{\idxcode{inline}!linkage of}%
27792778
The name of an entity
2780-
that belongs to a namespace scope\iref{basic.scope.namespace}
2779+
that belongs to a \link{namespace scope}{basic.scope.namespace}
27812780
has internal linkage if it is the name of
27822781
\begin{itemize}
27832782
\item
@@ -2818,7 +2817,7 @@
28182817
purposes\iref{dcl.typedef}; or
28192818
\item
28202819
\indextext{enumeration!linkage of}%
2821-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2820+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
28222821
in a typedef declaration in which the enumeration has the typedef name
28232822
for linkage purposes\iref{dcl.typedef}; or
28242823
\item an unnamed enumeration
@@ -2894,7 +2893,7 @@
28942893
\pnum
28952894
\indextext{linkage!no}%
28962895
Names not covered by these rules have no linkage. Moreover, except as
2897-
noted, a name declared at block scope\iref{basic.scope.block} has no
2896+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
28982897
linkage.
28992898

29002899
\pnum
@@ -3216,8 +3215,8 @@
32163215
involve additional memory locations that are not accessible to programs but are
32173216
managed by the implementation.
32183217
\end{note}
3219-
Two or more threads of
3220-
execution\iref{intro.multithread} can access separate memory
3218+
Two or more \deflinkx{threads of
3219+
execution}{thread of execution}{intro.multithread} can access separate memory
32213220
locations without interfering with each other.
32223221

32233222
\pnum
@@ -3261,15 +3260,15 @@
32613260
The constructs in a \Cpp{} program create, destroy, refer to, access, and
32623261
manipulate objects.
32633262
An \defn{object} is created
3264-
by a definition\iref{basic.def},
3263+
by a \link{definition}{basic.def},
32653264
by a \grammarterm{new-expression}\iref{expr.new},
32663265
by an operation that implicitly creates objects (see below),
3267-
when implicitly changing the active member of a union\iref{class.union},
3266+
when implicitly changing the active member of a \link{union}{class.union},
32683267
or
32693268
when a temporary object is created\iref{conv.rval,class.temporary}.
32703269
An object occupies a region of storage
32713270
in its period of construction\iref{class.cdtor},
3272-
throughout its lifetime\iref{basic.life},
3271+
throughout its \link{lifetime}{basic.life},
32733272
and
32743273
in its period of destruction\iref{class.cdtor}.
32753274
\begin{note}
@@ -3399,7 +3398,7 @@
33993398
\begin{itemize}
34003399
\item a base class subobject, or
34013400
\item a non-static data member
3402-
declared with the \tcode{no_unique_address} attribute\iref{dcl.attr.nouniqueaddr}.
3401+
declared with the \link{\tcode{no_unique_address}}{dcl.attr.nouniqueaddr} attribute.
34033402
\end{itemize}
34043403

34053404
\pnum
@@ -3420,7 +3419,7 @@
34203419
are \impldef{which non-standard-layout objects
34213420
containing no data are considered empty}.
34223421
\indextext{most derived object!bit-field}%
3423-
Unless it is a bit-field\iref{class.bit},
3422+
Unless it is a \link{bit-field}{class.bit},
34243423
an object with nonzero size
34253424
shall occupy one or more bytes of storage,
34263425
including every byte that is occupied in full or in part
@@ -3985,16 +3984,16 @@
39853984
is produced by the evaluation of:
39863985
\begin{itemize}
39873986
\item
3988-
the second or third operand of a conditional expression\iref{expr.cond},
3987+
the second or third operand of a \link{conditional expression}{expr.cond},
39893988
\item
3990-
the right operand of a comma expression\iref{expr.comma},
3989+
the right operand of a \link{comma expression}{expr.comma},
39913990
\item
39923991
the operand of a cast or conversion\iref{conv.integral,
39933992
expr.type.conv,expr.static.cast,expr.cast}
39943993
to an unsigned ordinary character type
39953994
or \tcode{std::byte} type\iref{cstddef.syn}, or
39963995
\item
3997-
a discarded-value expression\iref{expr.context},
3996+
a \deflink{discarded-value expression}{expr.context},
39983997
\end{itemize}
39993998
then the result of the operation is an indeterminate value or
40003999
that erroneous value, respectively.
@@ -4185,8 +4184,8 @@
41854184
\indextext{storage duration!dynamic|(}
41864185

41874186
\pnum
4188-
Objects can be created dynamically during program
4189-
execution\iref{intro.execution}, using
4187+
Objects can be created dynamically during \link{program
4188+
execution}{intro.execution}, using
41904189
\indextext{\idxcode{new}}%
41914190
\grammarterm{new-expression}{s}\iref{expr.new}, and destroyed using
41924191
\indextext{\idxcode{delete}}%
@@ -4350,9 +4349,9 @@
43504349
\tcode{std::bad_alloc}\iref{bad.alloc}.
43514350

43524351
\pnum
4353-
A global allocation function is only called as the result of a new
4354-
expression\iref{expr.new}, or called directly using the function call
4355-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4352+
A global allocation function is only called as the result of a \link{new
4353+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4354+
syntax, or called indirectly to allocate storage for
43564355
a coroutine state\iref{dcl.fct.def.coroutine},
43574356
or called indirectly through calls to the
43584357
functions in the \Cpp{} standard library.
@@ -4848,9 +4847,9 @@
48484847
impose requirements on implementations regarding the representation
48494848
of types.
48504849
There are two kinds of types: fundamental types and compound types.
4851-
Types describe objects\iref{intro.object},
4852-
references\iref{dcl.ref},
4853-
or functions\iref{dcl.fct}.
4850+
Types describe \link{objects}{intro.object},
4851+
\link{references}{dcl.ref},
4852+
or \link{functions}{dcl.fct}.
48544853
\end{note}
48554854

48564855
\pnum
@@ -5024,7 +5023,7 @@
50245023
pointer types, pointer-to-member types\iref{basic.compound},
50255024
\tcode{std::nullptr_t},
50265025
and
5027-
cv-qualified\iref{basic.type.qualifier} versions of these
5026+
\link{cv-qualified}{basic.type.qualifier} versions of these
50285027
types are collectively called
50295028
\defnadjx{scalar}{types}{type}.
50305029
\label{term.trivially.copyable.type}%
@@ -5057,7 +5056,7 @@
50575056
\item a scalar type; or
50585057
\item a reference type; or
50595058
\item an array of literal type; or
5060-
\item a possibly cv-qualified class type\iref{class} that
5059+
\item a possibly cv-qualified \link{class type}{class} that
50615060
has all of the following properties:
50625061
\begin{itemize}
50635062
\item it has a constexpr destructor\iref{dcl.constexpr},
@@ -5091,8 +5090,8 @@
50915090
Two types \cvqual{cv1} \tcode{T1} and \cvqual{cv2} \tcode{T2} are
50925091
\defnadjx{layout-compatible}{types}{type}
50935092
if \tcode{T1} and \tcode{T2} are the same type,
5094-
layout-compatible enumerations\iref{dcl.enum}, or
5095-
layout-compatible standard-layout class types\iref{class.mem}.
5093+
\deflinkx{layout-compatible enumerations}{layout-compatible!enumeration}{dcl.enum}, or
5094+
\deflinkx{layout-compatible standard-layout class types}{layout-compatible!class}{class.mem}.
50965095

50975096
\rSec2[basic.fundamental]{Fundamental types}
50985097

@@ -5540,7 +5539,7 @@
55405539
which identify members of a given
55415540
type within objects of a given class, \ref{dcl.mptr}.
55425541
Pointers to data members and pointers to member functions are collectively
5543-
called \term{pointer-to-member} types.
5542+
called \defn{pointer-to-member} types.
55445543
\end{itemize}
55455544

55465545
\pnum
@@ -5618,7 +5617,7 @@
56185617
have the same value representation and alignment
56195618
requirements\iref{basic.align}.
56205619
\begin{note}
5621-
Pointers to over-aligned types\iref{basic.align} have no special
5620+
Pointers to \deflinkx{over-aligned types}{type!over-aligned}{basic.align} have no special
56225621
representation, but their range of valid values is restricted by the extended
56235622
alignment requirement.
56245623
\end{note}
@@ -5933,8 +5932,8 @@
59335932
\indextext{program execution|(}
59345933

59355934
\pnum
5936-
An instance of each object with automatic storage
5937-
duration\iref{basic.stc.auto} is associated with each entry into its
5935+
An instance of each object with \link{automatic storage
5936+
duration}{basic.stc.auto} is associated with each entry into its
59385937
block. Such an object exists and retains its last-stored value during
59395938
the execution of the block and while the block is suspended (by a call
59405939
of a function, suspension of a coroutine\iref{expr.await}, or receipt of a signal).
@@ -5979,7 +5978,7 @@
59795978
the initialization of the entities captured by copy and
59805979
the constituent expressions of the \grammarterm{initializer} of the \grammarterm{init-capture}{s},
59815980
\item
5982-
if $E$ is a function call\iref{expr.call} or implicitly invokes a function,
5981+
if $E$ is a \link{function call}{expr.call} or implicitly invokes a function,
59835982
the constituent expressions of each default argument\iref{dcl.fct.default}
59845983
used in the call, or
59855984
\item
@@ -6010,7 +6009,7 @@
60106009
A \defn{full-expression} is
60116010
\begin{itemize}
60126011
\item
6013-
an unevaluated operand\iref{expr.context},
6012+
an \deflink{unevaluated operand}{expr.context},
60146013
\item
60156014
a \grammarterm{constant-expression}\iref{expr.const},
60166015
\item

0 commit comments

Comments
 (0)