Skip to content

Commit ce0c33e

Browse files
committed
Use new link macros.
1 parent 46c3374 commit ce0c33e

27 files changed

+612
-621
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
@@ -8111,7 +8111,7 @@
81118111

81128112
\pnum
81138113
\remarks
8114-
Stable\iref{algorithm.stable}.
8114+
\link{Stable}{algorithm.stable}.
81158115
\end{itemdescr}
81168116

81178117
\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}
@@ -542,8 +541,8 @@
542541
copy assignment or move assignment function for another class as specified
543542
in~\ref{class.copy.assign}.
544543
A constructor for a class is odr-used as specified
545-
in~\ref{dcl.init}. A destructor for a class is odr-used if it is potentially
546-
invoked\iref{class.dtor}.
544+
in~\ref{dcl.init}. A destructor for a class is odr-used if it is
545+
\deflink{potentially invoked}{class.dtor}.
547546

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

@@ -2778,7 +2777,7 @@
27782777
\indextext{linkage!\idxcode{inline} and}%
27792778
\indextext{\idxcode{inline}!linkage of}%
27802779
The name of an entity
2781-
that belongs to a namespace scope\iref{basic.scope.namespace}
2780+
that belongs to a \link{namespace scope}{basic.scope.namespace}
27822781
has internal linkage if it is the name of
27832782
\begin{itemize}
27842783
\item
@@ -2819,7 +2818,7 @@
28192818
purposes\iref{dcl.typedef}; or
28202819
\item
28212820
\indextext{enumeration!linkage of}%
2822-
a named enumeration\iref{dcl.enum}, or an unnamed enumeration defined
2821+
a named \link{enumeration}{dcl.enum}, or an unnamed enumeration defined
28232822
in a typedef declaration in which the enumeration has the typedef name
28242823
for linkage purposes\iref{dcl.typedef}; or
28252824
\item an unnamed enumeration
@@ -2895,7 +2894,7 @@
28952894
\pnum
28962895
\indextext{linkage!no}%
28972896
Names not covered by these rules have no linkage. Moreover, except as
2898-
noted, a name declared at block scope\iref{basic.scope.block} has no
2897+
noted, a name declared at \deflinkx{block scope}{scope!block}{basic.scope.block} has no
28992898
linkage.
29002899

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

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

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

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

43534352
\pnum
4354-
A global allocation function is only called as the result of a new
4355-
expression\iref{expr.new}, or called directly using the function call
4356-
syntax\iref{expr.call}, or called indirectly to allocate storage for
4353+
A global allocation function is only called as the result of a \link{new
4354+
expression}{expr.new}, or called directly using the \link{function call}{expr.call}
4355+
syntax, or called indirectly to allocate storage for
43574356
a coroutine state\iref{dcl.fct.def.coroutine},
43584357
or called indirectly through calls to the
43594358
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)