Skip to content

Commit 374252a

Browse files
jensmaurertkoeppe
authored andcommitted
[util.sharedptr] Dissolve subclause and integrate contents into parent. (#1814)
1 parent 75c0adc commit 374252a

File tree

2 files changed

+27
-29
lines changed

2 files changed

+27
-29
lines changed

source/utilities.tex

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9041,9 +9041,7 @@
90419041
\end{itemdescr}
90429042

90439043
\indextext{smart pointers|(}%
9044-
\rSec2[util.smartptr]{Shared-ownership pointers}
9045-
9046-
\rSec3[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}
9044+
\rSec2[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}
90479045
\indexlibrary{\idxcode{bad_weak_ptr}}%
90489046
\begin{codeblock}
90499047
namespace std {
@@ -9070,7 +9068,7 @@
90709068

90719069
\end{itemdescr}
90729070

9073-
\rSec3[util.smartptr.shared]{Class template \tcode{shared_ptr}}
9071+
\rSec2[util.smartptr.shared]{Class template \tcode{shared_ptr}}
90749072

90759073
\pnum
90769074
\indexlibrary{\idxcode{shared_ptr}}%
@@ -9180,14 +9178,14 @@
91809178
reflect modifications that can introduce data races.
91819179

91829180
\pnum
9183-
For the purposes of subclause \ref{util.smartptr},
9181+
For the purposes of subclause \ref{smartptr},
91849182
a pointer type \tcode{Y*} is said to be
91859183
\defnx{compatible with}{compatible with!\idxcode{shared_ptr}}
91869184
a pointer type \tcode{T*} when either
91879185
\tcode{Y*} is convertible to \tcode{T*} or
91889186
\tcode{Y} is \tcode{U[N]} and \tcode{T} is \cv{}~\tcode{U[]}.
91899187

9190-
\rSec4[util.smartptr.shared.const]{\tcode{shared_ptr} constructors}
9188+
\rSec3[util.smartptr.shared.const]{\tcode{shared_ptr} constructors}
91919189

91929190
\pnum
91939191
In the constructor definitions below,
@@ -9395,7 +9393,7 @@
93959393
If an exception is thrown, the constructor has no effect.
93969394
\end{itemdescr}
93979395

9398-
\rSec4[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor}
9396+
\rSec3[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor}
93999397

94009398
\indexlibrary{\idxcode{shared_ptr}!destructor}%
94019399
\begin{itemdecl}
@@ -9426,7 +9424,7 @@
94269424
\tcode{*this} will report a \tcode{use_count()} that is one less
94279425
than its previous value. \end{note}
94289426

9429-
\rSec4[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment}
9427+
\rSec3[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment}
94309428

94319429
\indexlibrarymember{operator=}{shared_ptr}%
94329430
\begin{itemdecl}
@@ -9481,9 +9479,7 @@
94819479
\returns \tcode{*this}.
94829480
\end{itemdescr}
94839481

9484-
9485-
9486-
\rSec4[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers}
9482+
\rSec3[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers}
94879483

94889484
\indexlibrarymember{swap}{shared_ptr}%
94899485
\begin{itemdecl}
@@ -9532,7 +9528,7 @@
95329528
\effects Equivalent to \tcode{shared_ptr(p, d, a).swap(*this)}.
95339529
\end{itemdescr}
95349530

9535-
\rSec4[util.smartptr.shared.obs]{\tcode{shared_ptr} observers}
9531+
\rSec3[util.smartptr.shared.obs]{\tcode{shared_ptr} observers}
95369532
\indexlibrarymember{get}{shared_ptr}%
95379533
\begin{itemdecl}
95389534
element_type* get() const noexcept;
@@ -9651,8 +9647,7 @@
96519647

96529648
\end{itemdescr}
96539649

9654-
9655-
\rSec4[util.smartptr.shared.create]{\tcode{shared_ptr} creation}
9650+
\rSec3[util.smartptr.shared.create]{\tcode{shared_ptr} creation}
96569651

96579652
\pnum
96589653
The common requirements that apply to
@@ -9923,7 +9918,7 @@
99239918
\end{example}
99249919
\end{itemdescr}
99259920

9926-
\rSec4[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison}
9921+
\rSec3[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison}
99279922

99289923
\indexlibrarymember{operator==}{shared_ptr}%
99299924
\begin{itemdecl}
@@ -10045,7 +10040,7 @@
1004510040
The second function template returns \tcode{!(nullptr < a)}.
1004610041
\end{itemdescr}
1004710042

10048-
\rSec4[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms}
10043+
\rSec3[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms}
1004910044

1005010045
\indexlibrarymember{swap}{shared_ptr}%
1005110046
\begin{itemdecl}
@@ -10057,7 +10052,7 @@
1005710052
\pnum\effects Equivalent to \tcode{a.swap(b)}.
1005810053
\end{itemdescr}
1005910054

10060-
\rSec4[util.smartptr.shared.cast]{\tcode{shared_ptr} casts}
10055+
\rSec3[util.smartptr.shared.cast]{\tcode{shared_ptr} casts}
1006110056

1006210057
\indexlibrarymember{static_pointer_cast}{shared_ptr}%
1006310058
\begin{itemdecl}
@@ -10163,7 +10158,7 @@
1016310158
\end{note}
1016410159
\end{itemdescr}
1016510160

10166-
\rSec4[util.smartptr.getdeleter]{\tcode{get_deleter}}
10161+
\rSec3[util.smartptr.getdeleter]{\tcode{get_deleter}}
1016710162

1016810163
\indexlibrarymember{get_deleter}{shared_ptr}%
1016910164
\begin{itemdecl}
@@ -10182,7 +10177,7 @@
1018210177
\tcode{p} have been destroyed. \end{note}
1018310178
\end{itemdescr}
1018410179

10185-
\rSec4[util.smartptr.shared.io]{\tcode{shared_ptr} I/O}
10180+
\rSec3[util.smartptr.shared.io]{\tcode{shared_ptr} I/O}
1018610181

1018710182
\indexlibrarymember{operator<<}{shared_ptr}%
1018810183
\begin{itemdecl}
@@ -10196,7 +10191,7 @@
1019610191
\pnum\returns \tcode{os}.
1019710192
\end{itemdescr}
1019810193

10199-
\rSec3[util.smartptr.weak]{Class template \tcode{weak_ptr}}
10194+
\rSec2[util.smartptr.weak]{Class template \tcode{weak_ptr}}
1020010195

1020110196
\pnum
1020210197
\indexlibrary{\idxcode{weak_ptr}}%
@@ -10264,7 +10259,7 @@
1026410259
containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an
1026510260
incomplete type.
1026610261

10267-
\rSec4[util.smartptr.weak.const]{\tcode{weak_ptr} constructors}
10262+
\rSec3[util.smartptr.weak.const]{\tcode{weak_ptr} constructors}
1026810263

1026910264
\indexlibrary{\idxcode{weak_ptr}!constructor}%
1027010265
\begin{itemdecl}
@@ -10312,7 +10307,7 @@
1031210307
\tcode{r} shall be empty. \tcode{r.use_count() == 0}.
1031310308
\end{itemdescr}
1031410309

10315-
\rSec4[util.smartptr.weak.dest]{\tcode{weak_ptr} destructor}
10310+
\rSec3[util.smartptr.weak.dest]{\tcode{weak_ptr} destructor}
1031610311

1031710312
\indexlibrary{\idxcode{weak_ptr}!destructor}%
1031810313
\begin{itemdecl}
@@ -10324,7 +10319,7 @@
1032410319
effect on the object its stored pointer points to.
1032510320
\end{itemdescr}
1032610321

10327-
\rSec4[util.smartptr.weak.assign]{\tcode{weak_ptr} assignment}
10322+
\rSec3[util.smartptr.weak.assign]{\tcode{weak_ptr} assignment}
1032810323

1032910324
\indexlibrarymember{operator=}{weak_ptr}%
1033010325
\begin{itemdecl}
@@ -10354,7 +10349,7 @@
1035410349
\pnum\returns \tcode{*this}.
1035510350
\end{itemdescr}
1035610351

10357-
\rSec4[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers}
10352+
\rSec3[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers}
1035810353
\indexlibrarymember{swap}{weak_ptr}%
1035910354
\begin{itemdecl}
1036010355
void swap(weak_ptr& r) noexcept;
@@ -10373,7 +10368,7 @@
1037310368
\pnum\effects Equivalent to \tcode{weak_ptr().swap(*this)}.
1037410369
\end{itemdescr}
1037510370

10376-
\rSec4[util.smartptr.weak.obs]{\tcode{weak_ptr} observers}
10371+
\rSec3[util.smartptr.weak.obs]{\tcode{weak_ptr} observers}
1037710372
\indexlibrarymember{use_count}{weak_ptr}%
1037810373
\begin{itemdecl}
1037910374
long use_count() const noexcept;
@@ -10425,7 +10420,7 @@
1042510420
\end{itemdescr}
1042610421

1042710422

10428-
\rSec4[util.smartptr.weak.spec]{\tcode{weak_ptr} specialized algorithms}
10423+
\rSec3[util.smartptr.weak.spec]{\tcode{weak_ptr} specialized algorithms}
1042910424

1043010425
\indexlibrarymember{swap}{weak_ptr}%
1043110426
\begin{itemdecl}
@@ -10437,7 +10432,7 @@
1043710432
\pnum\effects Equivalent to \tcode{a.swap(b)}.
1043810433
\end{itemdescr}
1043910434

10440-
\rSec3[util.smartptr.ownerless]{Class template \tcode{owner_less}}
10435+
\rSec2[util.smartptr.ownerless]{Class template \tcode{owner_less}}
1044110436

1044210437
\pnum
1044310438
The class template \tcode{owner_less} allows ownership-based mixed comparisons of shared
@@ -10488,7 +10483,7 @@
1048810483
both empty.
1048910484
\end{itemize} \end{note}
1049010485

10491-
\rSec3[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}}
10486+
\rSec2[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}}
1049210487

1049310488
\pnum
1049410489
\indexlibrary{\idxcode{enable_shared_from_this}}%
@@ -10578,7 +10573,7 @@
1057810573
\pnum\returns \tcode{weak_this}.
1057910574
\end{itemdescr}
1058010575

10581-
\rSec3[util.smartptr.hash]{Smart pointer hash support}
10576+
\rSec2[util.smartptr.hash]{Smart pointer hash support}
1058210577

1058310578
\indexlibrary{\idxcode{hash}!\idxcode{unique_ptr}}%
1058410579
\begin{itemdecl}

source/xrefdelta.tex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,8 @@
4646
\movedxref{array.fill}{array.members}
4747
\movedxref{array.swap}{array.members}
4848

49+
% Contents of [util.smartptr] was integrated into the parent.
50+
\removedxref{util.smartptr}
51+
4952
% Deprecated features.
5053
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)