Skip to content

Commit 19a6b33

Browse files
committed
[util.sharedptr] Dissolve subclause and integrate contents into parent.
1 parent e3f9c32 commit 19a6b33

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

source/utilities.tex

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9045,9 +9045,7 @@
90459045
\end{itemdescr}
90469046

90479047
\indextext{smart pointers|(}%
9048-
\rSec2[util.smartptr]{Shared-ownership pointers}
9049-
9050-
\rSec3[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}
9048+
\rSec2[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}
90519049
\indexlibrary{\idxcode{bad_weak_ptr}}%
90529050
\begin{codeblock}
90539051
namespace std {
@@ -9074,7 +9072,7 @@
90749072

90759073
\end{itemdescr}
90769074

9077-
\rSec3[util.smartptr.shared]{Class template \tcode{shared_ptr}}
9075+
\rSec2[util.smartptr.shared]{Class template \tcode{shared_ptr}}
90789076

90799077
\pnum
90809078
\indexlibrary{\idxcode{shared_ptr}}%
@@ -9184,14 +9182,14 @@
91849182
reflect modifications that can introduce data races.
91859183

91869184
\pnum
9187-
For the purposes of subclause \ref{util.smartptr},
9185+
For the purposes of subclause \ref{smartptr},
91889186
a pointer type \tcode{Y*} is said to be
91899187
\defnx{compatible with}{compatible with!\idxcode{shared_ptr}}
91909188
a pointer type \tcode{T*} when either
91919189
\tcode{Y*} is convertible to \tcode{T*} or
91929190
\tcode{Y} is \tcode{U[N]} and \tcode{T} is \cv{}~\tcode{U[]}.
91939191

9194-
\rSec4[util.smartptr.shared.const]{\tcode{shared_ptr} constructors}
9192+
\rSec3[util.smartptr.shared.const]{\tcode{shared_ptr} constructors}
91959193

91969194
\pnum
91979195
In the constructor definitions below,
@@ -9399,7 +9397,7 @@
93999397
If an exception is thrown, the constructor has no effect.
94009398
\end{itemdescr}
94019399

9402-
\rSec4[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor}
9400+
\rSec3[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor}
94039401

94049402
\indexlibrary{\idxcode{shared_ptr}!destructor}%
94059403
\begin{itemdecl}
@@ -9430,7 +9428,7 @@
94309428
\tcode{*this} will report a \tcode{use_count()} that is one less
94319429
than its previous value. \end{note}
94329430

9433-
\rSec4[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment}
9431+
\rSec3[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment}
94349432

94359433
\indexlibrarymember{operator=}{shared_ptr}%
94369434
\begin{itemdecl}
@@ -9487,7 +9485,7 @@
94879485

94889486

94899487

9490-
\rSec4[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers}
9488+
\rSec3[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers}
94919489

94929490
\indexlibrarymember{swap}{shared_ptr}%
94939491
\begin{itemdecl}
@@ -9536,7 +9534,7 @@
95369534
\effects Equivalent to \tcode{shared_ptr(p, d, a).swap(*this)}.
95379535
\end{itemdescr}
95389536

9539-
\rSec4[util.smartptr.shared.obs]{\tcode{shared_ptr} observers}
9537+
\rSec3[util.smartptr.shared.obs]{\tcode{shared_ptr} observers}
95409538
\indexlibrarymember{get}{shared_ptr}%
95419539
\begin{itemdecl}
95429540
element_type* get() const noexcept;
@@ -9656,7 +9654,7 @@
96569654
\end{itemdescr}
96579655

96589656

9659-
\rSec4[util.smartptr.shared.create]{\tcode{shared_ptr} creation}
9657+
\rSec3[util.smartptr.shared.create]{\tcode{shared_ptr} creation}
96609658

96619659
\pnum
96629660
The common requirements that apply to
@@ -9927,7 +9925,7 @@
99279925
\end{example}
99289926
\end{itemdescr}
99299927

9930-
\rSec4[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison}
9928+
\rSec3[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison}
99319929

99329930
\indexlibrarymember{operator==}{shared_ptr}%
99339931
\begin{itemdecl}
@@ -10049,7 +10047,7 @@
1004910047
The second function template returns \tcode{!(nullptr < a)}.
1005010048
\end{itemdescr}
1005110049

10052-
\rSec4[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms}
10050+
\rSec3[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms}
1005310051

1005410052
\indexlibrarymember{swap}{shared_ptr}%
1005510053
\begin{itemdecl}
@@ -10061,7 +10059,7 @@
1006110059
\pnum\effects Equivalent to \tcode{a.swap(b)}.
1006210060
\end{itemdescr}
1006310061

10064-
\rSec4[util.smartptr.shared.cast]{\tcode{shared_ptr} casts}
10062+
\rSec3[util.smartptr.shared.cast]{\tcode{shared_ptr} casts}
1006510063

1006610064
\indexlibrarymember{static_pointer_cast}{shared_ptr}%
1006710065
\begin{itemdecl}
@@ -10165,7 +10163,7 @@
1016510163
\end{note}
1016610164
\end{itemdescr}
1016710165

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

1017010168
\indexlibrarymember{get_deleter}{shared_ptr}%
1017110169
\begin{itemdecl}
@@ -10184,7 +10182,7 @@
1018410182
\tcode{p} have been destroyed. \end{note}
1018510183
\end{itemdescr}
1018610184

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

1018910187
\indexlibrarymember{operator<<}{shared_ptr}%
1019010188
\begin{itemdecl}
@@ -10266,7 +10264,7 @@
1026610264
containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an
1026710265
incomplete type.
1026810266

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

1027110269
\indexlibrary{\idxcode{weak_ptr}!constructor}%
1027210270
\begin{itemdecl}
@@ -10314,7 +10312,7 @@
1031410312
\tcode{r} shall be empty. \tcode{r.use_count() == 0}.
1031510313
\end{itemdescr}
1031610314

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

1031910317
\indexlibrary{\idxcode{weak_ptr}!destructor}%
1032010318
\begin{itemdecl}
@@ -10326,7 +10324,7 @@
1032610324
effect on the object its stored pointer points to.
1032710325
\end{itemdescr}
1032810326

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

1033110329
\indexlibrarymember{operator=}{weak_ptr}%
1033210330
\begin{itemdecl}
@@ -10356,7 +10354,7 @@
1035610354
\pnum\returns \tcode{*this}.
1035710355
\end{itemdescr}
1035810356

10359-
\rSec4[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers}
10357+
\rSec3[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers}
1036010358
\indexlibrarymember{swap}{weak_ptr}%
1036110359
\begin{itemdecl}
1036210360
void swap(weak_ptr& r) noexcept;
@@ -10375,7 +10373,7 @@
1037510373
\pnum\effects Equivalent to \tcode{weak_ptr().swap(*this)}.
1037610374
\end{itemdescr}
1037710375

10378-
\rSec4[util.smartptr.weak.obs]{\tcode{weak_ptr} observers}
10376+
\rSec3[util.smartptr.weak.obs]{\tcode{weak_ptr} observers}
1037910377
\indexlibrarymember{use_count}{weak_ptr}%
1038010378
\begin{itemdecl}
1038110379
long use_count() const noexcept;
@@ -10427,7 +10425,7 @@
1042710425
\end{itemdescr}
1042810426

1042910427

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

1043210430
\indexlibrarymember{swap}{weak_ptr}%
1043310431
\begin{itemdecl}
@@ -10439,7 +10437,7 @@
1043910437
\pnum\effects Equivalent to \tcode{a.swap(b)}.
1044010438
\end{itemdescr}
1044110439

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

1044410442
\pnum
1044510443
The class template \tcode{owner_less} allows ownership-based mixed comparisons of shared
@@ -10490,7 +10488,7 @@
1049010488
both empty.
1049110489
\end{itemize} \end{note}
1049210490

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

1049510493
\pnum
1049610494
\indexlibrary{\idxcode{enable_shared_from_this}}%
@@ -10580,7 +10578,7 @@
1058010578
\pnum\returns \tcode{weak_this}.
1058110579
\end{itemdescr}
1058210580

10583-
\rSec3[util.smartptr.shared.atomic]{\tcode{shared_ptr} atomic access}
10581+
\rSec2[util.smartptr.shared.atomic]{\tcode{shared_ptr} atomic access}
1058410582

1058510583
\pnum
1058610584
Concurrent access to a \tcode{shared_ptr} object from multiple threads does not
@@ -10789,7 +10787,7 @@
1078910787
The weak form may fail spuriously. See~\ref{atomics.types.operations}.
1079010788
\end{itemdescr}
1079110789

10792-
\rSec3[util.smartptr.hash]{Smart pointer hash support}
10790+
\rSec2[util.smartptr.hash]{Smart pointer hash support}
1079310791

1079410792
\indexlibrary{\idxcode{hash}!\idxcode{unique_ptr}}%
1079510793
\begin{itemdecl}

source/xrefdelta.tex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,8 @@
4242
\movedxref{array.fill}{array.members}
4343
\movedxref{array.swap}{array.members}
4444

45+
% Contents of [util.smartptr] was integrated into the parent.
46+
\removedxref{util.smartptr}
47+
4548
% Deprecated features.
4649
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)