Skip to content

Commit bcc277d

Browse files
committed
Use new link macros.
1 parent 5a00ea4 commit bcc277d

29 files changed

+737
-780
lines changed

source/algorithms.tex

Lines changed: 3 additions & 3 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
@@ -7862,7 +7862,7 @@
78627862

78637863
\pnum
78647864
\remarks
7865-
Stable\iref{algorithm.stable}.
7865+
\link{Stable}{algorithm.stable}.
78667866
\end{itemdescr}
78677867

78687868
\begin{itemdecl}
@@ -11347,7 +11347,7 @@
1134711347
\pnum
1134811348
\constraints
1134911349
The expression \tcode{::new (declval<void*>()) T(declval<Args>()...)}
11350-
is well-formed when treated as an unevaluated operand\iref{term.unevaluated.operand}.
11350+
is well-formed when treated as an \deflink{unevaluated operand}{expr.context}.
1135111351

1135211352
\pnum
1135311353
\effects

source/basic.tex

Lines changed: 64 additions & 65 deletions
Large diffs are not rendered by default.

source/classes.tex

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,10 @@
186186
\item has no non-static data members of type non-standard-layout class
187187
(or array of such types) or reference,
188188

189-
\item has no virtual functions\iref{class.virtual} and no
190-
virtual base classes\iref{class.mi},
189+
\item has no \link{virtual functions}{class.virtual} and no
190+
\link{virtual base classes}{class.mi},
191191

192-
\item has the same access control\iref{class.access}
192+
\item has the same \link{access control}{class.access}
193193
for all non-static data members,
194194

195195
\item has no non-standard-layout base classes,
@@ -532,7 +532,7 @@
532532
\end{itemize}
533533
For any other \grammarterm{member-declaration},
534534
each declared entity
535-
that is not an unnamed bit-field\iref{class.bit}
535+
that is not an \deflinkx{unnamed bit-field}{bit-field!unnamed}{class.bit}
536536
is a member of the class,
537537
and each such \grammarterm{member-declaration}
538538
shall either
@@ -547,7 +547,7 @@
547547
enumerations\iref{dcl.enum} declared in the class and arbitrary types
548548
declared as members by use of a typedef declaration\iref{dcl.typedef}
549549
or \grammarterm{alias-declaration}.
550-
The enumerators of an unscoped enumeration\iref{dcl.enum} defined in the class
550+
The enumerators of an \link{unscoped enumeration}{dcl.enum} defined in the class
551551
are members of the class.
552552

553553
\pnum
@@ -562,7 +562,7 @@
562562
\defnadj{non-static}{member function}\iref{class.mfct.non.static}, respectively).
563563
\begin{note}
564564
A non-static data member of non-reference
565-
type is a member subobject of a class object\iref{intro.object}.
565+
type is a \deflink{member subobject}{intro.object} of a class object.
566566
\end{note}
567567

568568
\pnum
@@ -676,9 +676,9 @@
676676
The
677677
\grammarterm{member-declarator-list} can be omitted only after a
678678
\grammarterm{class-specifier} or an \grammarterm{enum-specifier} or in a
679-
friend declaration\iref{class.friend}. A
679+
\link{friend declaration}{class.friend}. A
680680
\grammarterm{pure-specifier} shall be used only in the declaration of a
681-
virtual function\iref{class.virtual}
681+
\link{virtual function}{class.virtual}
682682
that is not a friend declaration.
683683

684684
\pnum
@@ -764,8 +764,8 @@
764764

765765
\item every member function of class \tcode{T};
766766
\begin{note}
767-
This restriction does not apply to constructors, which do not have
768-
names\iref{class.ctor}
767+
This restriction does not apply to \link{constructors}{class.ctor},
768+
which do not have names
769769
\end{note}%
770770

771771
\item every member of class \tcode{T} that is itself a type;
@@ -781,7 +781,7 @@
781781

782782
\pnum
783783
In addition, if class \tcode{T} has a user-declared
784-
constructor\iref{class.ctor}, every non-static data member of class
784+
\link{constructor}{class.ctor}, every non-static data member of class
785785
\tcode{T} shall have a name different from \tcode{T}.
786786

787787
\pnum
@@ -830,7 +830,7 @@
830830
types\iref{term.layout.compatible.type}.
831831

832832
\pnum
833-
In a standard-layout union with an active member\iref{class.union}
833+
In a standard-layout union with an \deflinkx{active member}{active!union member}{class.union}
834834
of struct type \tcode{T1}, it is permitted to read a non-static
835835
data member \tcode{m} of another union member of struct type \tcode{T2}
836836
provided \tcode{m} is part of the common initial sequence of \tcode{T1} and \tcode{T2};
@@ -2168,7 +2168,7 @@
21682168
An array of class type contains several subobjects for each of which
21692169
the destructor is invoked.
21702170
\end{note}
2171-
A destructor can also be invoked explicitly. A destructor is \term{potentially invoked}
2171+
A destructor can also be invoked explicitly. A destructor is \defn{potentially invoked}
21722172
if it is invoked or as specified in~\ref{expr.new},
21732173
\ref{stmt.return}, \ref{dcl.init.aggr},
21742174
\ref{class.base.init}, and~\ref{except.throw}.
@@ -6228,7 +6228,7 @@
62286228
the copy/move operation can be omitted by
62296229
constructing the object directly into the exception object
62306230

6231-
\item in a coroutine\iref{dcl.fct.def.coroutine}, a copy of a coroutine parameter
6231+
\item in a \link{coroutine}{dcl.fct.def.coroutine}, a copy of a coroutine parameter
62326232
can be omitted and references to that copy replaced with references to the
62336233
corresponding parameter if the meaning of the program will be unchanged except for
62346234
the execution of a constructor and destructor for the parameter copy object

source/compatibility.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,8 +1563,8 @@
15631563
A conditional expression with a throw expression as its second or third
15641564
operand keeps the type and value category of the other operand.
15651565
\rationale
1566-
Formerly mandated conversions (lvalue-to-rvalue\iref{conv.lval},
1567-
array-to-pointer\iref{conv.array}, and function-to-pointer\iref{conv.func}
1566+
Formerly mandated conversions (\link{lvalue-to-rvalue}{conv.lval},
1567+
\link{array-to-pointer}{conv.array}, and \link{function-to-pointer}{conv.func}
15681568
standard conversions), especially the creation of the temporary due to
15691569
lvalue-to-rvalue conversion, were considered gratuitous and surprising.
15701570
\effect

source/concepts.tex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@
300300

301301
\begin{itemdecl}
302302
template<class T, class U>
303-
concept @\defexposconcept{same-as-impl}@ = is_same_v<T, U>; // \expos
303+
concept @\defexposconcept{same-as-impl}@ = @\libglobalref{is_same_v}@<T, U>; // \expos
304304

305305
template<class T, class U>
306306
concept @\deflibconcept{same_as}@ = @\exposconcept{same-as-impl}@<T, U> && @\exposconcept{same-as-impl}@<U, T>;
@@ -493,13 +493,13 @@
493493

494494
\begin{itemdecl}
495495
template<class T>
496-
concept @\deflibconcept{integral}@ = is_integral_v<T>;
496+
concept @\deflibconcept{integral}@ = @\libglobalref{is_integral_v}@<T>;
497497
template<class T>
498-
concept @\deflibconcept{signed_integral}@ = @\libconcept{integral}@<T> && is_signed_v<T>;
498+
concept @\deflibconcept{signed_integral}@ = @\libconcept{integral}@<T> && @\libglobalref{is_signed_v}@<T>;
499499
template<class T>
500500
concept @\deflibconcept{unsigned_integral}@ = @\libconcept{integral}@<T> && !@\libconcept{signed_integral}@<T>;
501501
template<class T>
502-
concept @\deflibconcept{floating_point}@ = is_floating_point_v<T>;
502+
concept @\deflibconcept{floating_point}@ = @\libglobalref{is_floating_point_v}@<T>;
503503
\end{itemdecl}
504504

505505
\begin{itemdescr}
@@ -748,7 +748,7 @@
748748

749749
\begin{itemdecl}
750750
template<class T>
751-
concept @\deflibconcept{destructible}@ = is_nothrow_destructible_v<T>;
751+
concept @\deflibconcept{destructible}@ = @\libglobalref{is_nothrow_destructible_v}@<T>;
752752
\end{itemdecl}
753753

754754
\begin{itemdescr}
@@ -768,7 +768,7 @@
768768

769769
\begin{itemdecl}
770770
template<class T, class... Args>
771-
concept @\deflibconcept{constructible_from}@ = @\libconcept{destructible}@<T> && is_constructible_v<T, Args...>;
771+
concept @\deflibconcept{constructible_from}@ = @\libconcept{destructible}@<T> && @\libglobalref{is_constructible_v}@<T, Args...>;
772772
\end{itemdecl}
773773

774774
\rSec2[concept.default.init]{Concept \cname{default_initializable}}

source/containers.tex

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6180,14 +6180,14 @@
61806180
\indextext{\idxcode{array}!contiguous storage}%
61816181
The header \libheader{array} defines a class template for storing fixed-size
61826182
sequences of objects.
6183-
An \tcode{array} is a contiguous container\iref{container.reqmts}.
6183+
An \tcode{array} is a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}.
61846184
An instance of \tcode{array<T, N>} stores \tcode{N} elements of type \tcode{T},
61856185
so that \tcode{size() == N} is an invariant.
61866186

61876187
\pnum
61886188
\indextext{\idxcode{array}!initialization}%
61896189
\indextext{\idxcode{array}!as aggregate}%
6190-
An \tcode{array} is an aggregate\iref{dcl.init.aggr} that can be
6190+
An \tcode{array} is an \deflink{aggregate}{dcl.init.aggr} that can be
61916191
list-initialized with up
61926192
to \tcode{N} elements whose types are convertible to \tcode{T}.
61936193

@@ -6198,24 +6198,24 @@
61986198
of a reversible container\iref{container.rev.reqmts},
61996199
except that a default
62006200
constructed \tcode{array} object is not empty if $\tcode{N} > 0$.
6201-
An \tcode{array} meets some of the requirements of a sequence
6202-
container\iref{sequence.reqmts}.
6201+
An \tcode{array} meets some of the requirements of a
6202+
\link{sequence container}{sequence.reqmts}.
62036203
Descriptions are provided here
62046204
only for operations on \tcode{array} that are not described in
62056205
one of these tables and
62066206
for operations where there is additional semantic information.
62076207

62086208
\pnum
6209-
\tcode{array<T, N>} is a structural type\iref{temp.param} if
6209+
\tcode{array<T, N>} is a \deflinkx{structural type}{type!structural}{temp.param} if
62106210
\tcode{T} is a structural type.
62116211
Two values \tcode{a1} and \tcode{a2} of type \tcode{array<T, N>}
6212-
are template-argument-equivalent\iref{temp.type} if and only if
6212+
are \deflink{template-argument-equivalent}{temp.type} if and only if
62136213
each pair of corresponding elements in \tcode{a1} and \tcode{a2}
62146214
are template-argument-equivalent.
62156215

62166216
\pnum
62176217
The types \tcode{iterator} and \tcode{const_iterator} meet
6218-
the constexpr iterator requirements\iref{iterator.requirements.general}.
6218+
the \deflinkx{constexpr iterator}{iterator!constexpr}{iterator.requirements.general} requirements.
62196219

62206220
\indexlibraryglobal{array}%
62216221
\indexlibrarymember{array}{begin}%
@@ -6289,7 +6289,7 @@
62896289
\pnum
62906290
\indextext{\idxcode{array}!initialization}%
62916291
\indextext{requirements!container}%
6292-
The conditions for an aggregate\iref{dcl.init.aggr} shall be
6292+
The conditions for an \deflink{aggregate}{dcl.init.aggr} shall be
62936293
met. Class \tcode{array} relies on the implicitly-declared special
62946294
member functions\iref{class.default.ctor,class.dtor,class.copy.ctor} to
62956295
conform to the container requirements table in~\ref{container.requirements}.
@@ -6503,7 +6503,7 @@
65036503
A
65046504
\indexlibraryglobal{deque}%
65056505
\tcode{deque}
6506-
is a sequence container that supports random access iterators\iref{random.access.iterators}.
6506+
is a sequence container that supports \link{random access iterators}{random.access.iterators}.
65076507
In addition, it supports constant time insert and erase operations at the beginning or the end;
65086508
insert and erase in the middle take linear time.
65096509
That is, a deque is especially optimized for pushing and popping elements at the beginning and end.
@@ -7118,7 +7118,7 @@
71187118
\pnum
71197119
An incomplete type \tcode{T} may be used when instantiating \tcode{forward_list}
71207120
if the allocator meets the
7121-
allocator completeness requirements\iref{allocator.requirements.completeness}.
7121+
\link{allocator completeness requirements}{allocator.requirements.completeness}.
71227122
\tcode{T} shall be complete before any member of the resulting specialization
71237123
of \tcode{forward_list} is referenced.
71247124

@@ -7698,7 +7698,7 @@
76987698

76997699
\pnum
77007700
\remarks
7701-
Stable\iref{algorithm.stable}.
7701+
\link{Stable}{algorithm.stable}.
77027702
\end{itemdescr}
77037703

77047704
\indexlibrarymember{unique}{forward_list}%
@@ -7803,7 +7803,7 @@
78037803

78047804
\pnum
78057805
\remarks
7806-
Stable\iref{algorithm.stable}.
7806+
\link{Stable}{algorithm.stable}.
78077807
\end{itemdescr}
78087808

78097809
\indexlibrarymember{reverse}{forward_list}%
@@ -7861,7 +7861,7 @@
78617861
is a sequence container that supports
78627862
bidirectional iterators and allows constant time insert and erase
78637863
operations anywhere within the sequence, with storage management handled
7864-
automatically. Unlike vectors\iref{vector} and deques\iref{deque},
7864+
automatically. Unlike \link{vectors}{vector} and \link{deques}{deque},
78657865
fast random access to list elements is not supported, but many
78667866
algorithms only need sequential access anyway.
78677867

@@ -8030,7 +8030,7 @@
80308030
\pnum
80318031
An incomplete type \tcode{T} may be used when instantiating \tcode{list}
80328032
if the allocator meets the
8033-
allocator completeness requirements\iref{allocator.requirements.completeness}.
8033+
\link{allocator completeness requirements}{allocator.requirements.completeness}.
80348034
\tcode{T} shall be complete before any member of the resulting specialization
80358035
of \tcode{list} is referenced.
80368036

@@ -8444,7 +8444,7 @@
84448444

84458445
\pnum
84468446
\remarks
8447-
Stable\iref{algorithm.stable}.
8447+
\link{Stable}{algorithm.stable}.
84488448
\end{itemdescr}
84498449

84508450
\indexlibrarymember{unique}{list}%
@@ -8568,7 +8568,7 @@
85688568

85698569
\pnum
85708570
\remarks
8571-
Stable\iref{algorithm.stable}.
8571+
\link{Stable}{algorithm.stable}.
85728572
\end{itemdescr}
85738573

85748574
\rSec3[list.erasure]{Erasure}
@@ -8621,7 +8621,7 @@
86218621
of a sequence container, including most of the optional sequence container
86228622
requirements\iref{sequence.reqmts},
86238623
and, for an element type other than \tcode{bool},
8624-
of a contiguous container\iref{container.reqmts}.
8624+
of a \deflinkx{contiguous container}{container!contiguous}{container.reqmts}.
86258625
The exceptions are the
86268626
\tcode{push_front}, \tcode{prepend_range}, \tcode{pop_front}, and \tcode{emplace_front} member functions, which are not
86278627
provided. Descriptions are provided here only for operations on \tcode{vector}
@@ -8759,7 +8759,7 @@
87598759
\pnum
87608760
An incomplete type \tcode{T} may be used when instantiating \tcode{vector}
87618761
if the allocator meets the
8762-
allocator completeness requirements\iref{allocator.requirements.completeness}.
8762+
\link{allocator completeness requirements}{allocator.requirements.completeness}.
87638763
\tcode{T} shall be complete before any member of the resulting specialization
87648764
of \tcode{vector} is referenced.
87658765

@@ -9330,7 +9330,7 @@
93309330
semantics as the primary \tcode{vector} template, except that operations
93319331
dealing with the \tcode{bool} value type map to bit values in the
93329332
container storage and
9333-
\tcode{allocator_traits::construct}\iref{allocator.traits.members}
9333+
\libmemberrefx{allocator_traits::construct}{allocator_traits}{construct}
93349334
is not used to construct these values.
93359335

93369336
\pnum
@@ -13832,9 +13832,9 @@
1383213832
can be used to instantiate
1383313833
\tcode{queue}.
1383413834
In particular,
13835-
\tcode{list}\iref{list}
13835+
\link{\tcode{list}}{list}
1383613836
and
13837-
\tcode{deque}\iref{deque}
13837+
\link{\tcode{deque}}{deque}
1383813838
can be used.
1383913839

1384013840
\begin{codeblock}
@@ -14189,15 +14189,15 @@
1418914189
can be used to instantiate
1419014190
\tcode{priority_queue}.
1419114191
In particular,
14192-
\tcode{vector}\iref{vector}
14192+
\link{\tcode{vector}}{vector}
1419314193
and
14194-
\tcode{deque}\iref{deque}
14194+
\link{\tcode{deque}}{deque}
1419514195
can be used.
1419614196
Instantiating
1419714197
\tcode{priority_queue}
1419814198
also involves supplying a function or function object for making
1419914199
priority comparisons; the library assumes that the function or function
14200-
object defines a strict weak ordering\iref{alg.sorting}.
14200+
object defines a \link{strict weak ordering}{alg.sorting}.
1420114201

1420214202
\begin{codeblock}
1420314203
namespace std {
@@ -14697,10 +14697,10 @@
1469714697
can be used to instantiate
1469814698
\tcode{stack}.
1469914699
In particular,
14700-
\tcode{vector}\iref{vector},
14701-
\tcode{list}\iref{list}
14700+
\link{\tcode{vector}}{vector},
14701+
\link{\tcode{list}}{list}
1470214702
and
14703-
\tcode{deque}\iref{deque}
14703+
\link{\tcode{deque}}{deque}
1470414704
can be used.
1470514705

1470614706
\rSec3[stack.defn]{Definition}

0 commit comments

Comments
 (0)