Skip to content

Commit b4bf594

Browse files
authored
[smartptr] Rework subclause nesting (#5119)
1 parent c8ec4ab commit b4bf594

File tree

1 file changed

+33
-29
lines changed

1 file changed

+33
-29
lines changed

source/utilities.tex

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8924,7 +8924,7 @@
89248924

89258925
\rSec1[smartptr]{Smart pointers}
89268926

8927-
\rSec2[unique.ptr]{Class template \tcode{unique_ptr}}
8927+
\rSec2[unique.ptr]{Unique-ownership pointers}
89288928

89298929
\rSec3[unique.ptr.general]{General}
89308930

@@ -10161,7 +10161,9 @@
1016110161
\tcode{os}.
1016210162
\end{itemdescr}
1016310163

10164-
\rSec2[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}%
10164+
\rSec2[util.sharedptr]{Shared-ownership pointers}
10165+
10166+
\rSec3[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}%
1016510167
\indextext{smart pointers|(}%
1016610168

1016710169
\indexlibraryglobal{bad_weak_ptr}%
@@ -10190,9 +10192,9 @@
1019010192
An \impldef{return value of \tcode{bad_weak_ptr::what}} \ntbs{}.
1019110193
\end{itemdescr}
1019210194

10193-
\rSec2[util.smartptr.shared]{Class template \tcode{shared_ptr}}
10195+
\rSec3[util.smartptr.shared]{Class template \tcode{shared_ptr}}
1019410196

10195-
\rSec3[util.smartptr.shared.general]{General}
10197+
\rSec4[util.smartptr.shared.general]{General}
1019610198

1019710199
\pnum
1019810200
\indexlibraryglobal{shared_ptr}%
@@ -10317,7 +10319,7 @@
1031710319
\tcode{Y*} is convertible to \tcode{T*} or
1031810320
\tcode{Y} is \tcode{U[N]} and \tcode{T} is \cv{}~\tcode{U[]}.
1031910321

10320-
\rSec3[util.smartptr.shared.const]{Constructors}
10322+
\rSec4[util.smartptr.shared.const]{Constructors}
1032110323

1032210324
\pnum
1032310325
In the constructor definitions below,
@@ -10573,7 +10575,7 @@
1057310575
If an exception is thrown, the constructor has no effect.
1057410576
\end{itemdescr}
1057510577

10576-
\rSec3[util.smartptr.shared.dest]{Destructor}
10578+
\rSec4[util.smartptr.shared.dest]{Destructor}
1057710579

1057810580
\indexlibrarydtor{shared_ptr}%
1057910581
\begin{itemdecl}
@@ -10607,7 +10609,7 @@
1060710609
than its previous value.
1060810610
\end{note}
1060910611

10610-
\rSec3[util.smartptr.shared.assign]{Assignment}
10612+
\rSec4[util.smartptr.shared.assign]{Assignment}
1061110613

1061210614
\indexlibrarymember{operator=}{shared_ptr}%
1061310615
\begin{itemdecl}
@@ -10672,7 +10674,7 @@
1067210674
\tcode{*this}.
1067310675
\end{itemdescr}
1067410676

10675-
\rSec3[util.smartptr.shared.mod]{Modifiers}
10677+
\rSec4[util.smartptr.shared.mod]{Modifiers}
1067610678

1067710679
\indexlibrarymember{swap}{shared_ptr}%
1067810680
\begin{itemdecl}
@@ -10730,7 +10732,7 @@
1073010732
Equivalent to \tcode{shared_ptr(p, d, a).swap(*this)}.
1073110733
\end{itemdescr}
1073210734

10733-
\rSec3[util.smartptr.shared.obs]{Observers}
10735+
\rSec4[util.smartptr.shared.obs]{Observers}
1073410736
\indexlibrarymember{get}{shared_ptr}%
1073510737
\begin{itemdecl}
1073610738
element_type* get() const noexcept;
@@ -10886,7 +10888,7 @@
1088610888

1088710889
\end{itemdescr}
1088810890

10889-
\rSec3[util.smartptr.shared.create]{Creation}
10891+
\rSec4[util.smartptr.shared.create]{Creation}
1089010892

1089110893
\pnum
1089210894
The common requirements that apply to all
@@ -11259,7 +11261,7 @@
1125911261
\end{example}
1126011262
\end{itemdescr}
1126111263

11262-
\rSec3[util.smartptr.shared.cmp]{Comparison}
11264+
\rSec4[util.smartptr.shared.cmp]{Comparison}
1126311265

1126411266
\indexlibrarymember{operator==}{shared_ptr}%
1126511267
\begin{itemdecl}
@@ -11317,7 +11319,7 @@
1131711319
\end{codeblock}
1131811320
\end{itemdescr}
1131911321

11320-
\rSec3[util.smartptr.shared.spec]{Specialized algorithms}
11322+
\rSec4[util.smartptr.shared.spec]{Specialized algorithms}
1132111323

1132211324
\indexlibrarymember{swap}{shared_ptr}%
1132311325
\begin{itemdecl}
@@ -11331,7 +11333,7 @@
1133111333
Equivalent to \tcode{a.swap(b)}.
1133211334
\end{itemdescr}
1133311335

11334-
\rSec3[util.smartptr.shared.cast]{Casts}
11336+
\rSec4[util.smartptr.shared.cast]{Casts}
1133511337

1133611338
\indexlibrarymember{static_pointer_cast}{shared_ptr}%
1133711339
\begin{itemdecl}
@@ -11458,7 +11460,7 @@
1145811460
\end{note}
1145911461
\end{itemdescr}
1146011462

11461-
\rSec3[util.smartptr.getdeleter]{\tcode{get_deleter}}
11463+
\rSec4[util.smartptr.getdeleter]{\tcode{get_deleter}}
1146211464

1146311465
\indexlibrarymember{get_deleter}{shared_ptr}%
1146411466
\begin{itemdecl}
@@ -11482,7 +11484,7 @@
1148211484
\end{note}
1148311485
\end{itemdescr}
1148411486

11485-
\rSec3[util.smartptr.shared.io]{I/O}
11487+
\rSec4[util.smartptr.shared.io]{I/O}
1148611488

1148711489
\indexlibrarymember{operator<<}{shared_ptr}%
1148811490
\begin{itemdecl}
@@ -11500,9 +11502,9 @@
1150011502
\tcode{os}.
1150111503
\end{itemdescr}
1150211504

11503-
\rSec2[util.smartptr.weak]{Class template \tcode{weak_ptr}}
11505+
\rSec3[util.smartptr.weak]{Class template \tcode{weak_ptr}}
1150411506

11505-
\rSec3[util.smartptr.weak.general]{General}
11507+
\rSec4[util.smartptr.weak.general]{General}
1150611508

1150711509
\pnum
1150811510
\indexlibraryglobal{weak_ptr}%
@@ -11566,7 +11568,7 @@
1156611568
containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an
1156711569
incomplete type.
1156811570

11569-
\rSec3[util.smartptr.weak.const]{Constructors}
11571+
\rSec4[util.smartptr.weak.const]{Constructors}
1157011572

1157111573
\indexlibraryctor{weak_ptr}%
1157211574
\begin{itemdecl}
@@ -11629,7 +11631,7 @@
1162911631
\tcode{r} is empty, stores a null pointer value, and \tcode{r.use_count() == 0}.
1163011632
\end{itemdescr}
1163111633

11632-
\rSec3[util.smartptr.weak.dest]{Destructor}
11634+
\rSec4[util.smartptr.weak.dest]{Destructor}
1163311635

1163411636
\indexlibrarydtor{weak_ptr}%
1163511637
\begin{itemdecl}
@@ -11643,7 +11645,7 @@
1164311645
effect on the object its stored pointer points to.
1164411646
\end{itemdescr}
1164511647

11646-
\rSec3[util.smartptr.weak.assign]{Assignment}
11648+
\rSec4[util.smartptr.weak.assign]{Assignment}
1164711649

1164811650
\indexlibrarymember{operator=}{weak_ptr}%
1164911651
\begin{itemdecl}
@@ -11683,7 +11685,7 @@
1168311685
\tcode{*this}.
1168411686
\end{itemdescr}
1168511687

11686-
\rSec3[util.smartptr.weak.mod]{Modifiers}
11688+
\rSec4[util.smartptr.weak.mod]{Modifiers}
1168711689
\indexlibrarymember{swap}{weak_ptr}%
1168811690
\begin{itemdecl}
1168911691
void swap(weak_ptr& r) noexcept;
@@ -11706,7 +11708,7 @@
1170611708
Equivalent to \tcode{weak_ptr().swap(*this)}.
1170711709
\end{itemdescr}
1170811710

11709-
\rSec3[util.smartptr.weak.obs]{Observers}
11711+
\rSec4[util.smartptr.weak.obs]{Observers}
1171011712
\indexlibrarymember{use_count}{weak_ptr}%
1171111713
\begin{itemdecl}
1171211714
long use_count() const noexcept;
@@ -11763,7 +11765,7 @@
1176311765
\end{itemdescr}
1176411766

1176511767

11766-
\rSec3[util.smartptr.weak.spec]{Specialized algorithms}
11768+
\rSec4[util.smartptr.weak.spec]{Specialized algorithms}
1176711769

1176811770
\indexlibrarymember{swap}{weak_ptr}%
1176911771
\begin{itemdecl}
@@ -11777,7 +11779,7 @@
1177711779
Equivalent to \tcode{a.swap(b)}.
1177811780
\end{itemdescr}
1177911781

11780-
\rSec2[util.smartptr.ownerless]{Class template \tcode{owner_less}}
11782+
\rSec3[util.smartptr.ownerless]{Class template \tcode{owner_less}}
1178111783

1178211784
\pnum
1178311785
The class template \tcode{owner_less} allows ownership-based mixed comparisons of shared
@@ -11831,7 +11833,7 @@
1183111833
\end{itemize}
1183211834
\end{note}
1183311835

11834-
\rSec2[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}}
11836+
\rSec3[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}}
1183511837

1183611838
\pnum
1183711839
\indexlibraryglobal{enable_shared_from_this}%
@@ -11963,7 +11965,9 @@
1196311965
\end{itemdescr}%
1196411966
\indextext{smart pointers|)}
1196511967

11966-
\rSec2[out.ptr.t]{Class template \tcode{out_ptr_t}}
11968+
\rSec2[smartptr.adapt]{Smart pointer adaptors}
11969+
11970+
\rSec3[out.ptr.t]{Class template \tcode{out_ptr_t}}
1196711971

1196811972
\pnum
1196911973
\tcode{out_ptr_t} is a class template used to adapt types
@@ -12163,7 +12167,7 @@
1216312167
\end{note}
1216412168
\end{itemdescr}
1216512169

12166-
\rSec2[out.ptr]{Function template \tcode{out_ptr}}
12170+
\rSec3[out.ptr]{Function template \tcode{out_ptr}}
1216712171

1216812172
\indexlibraryglobal{out_ptr}%
1216912173
\begin{itemdecl}
@@ -12182,7 +12186,7 @@
1218212186
\tcode{out_ptr_t<Smart, P, Args\&\&...>(s, std::forward<Args>(args)...)}
1218312187
\end{itemdescr}
1218412188

12185-
\rSec2[inout.ptr.t]{Class template \tcode{inout_ptr_t}}
12189+
\rSec3[inout.ptr.t]{Class template \tcode{inout_ptr_t}}
1218612190

1218712191
\pnum
1218812192
\tcode{inout_ptr_t} is a class template used to adapt types
@@ -12401,7 +12405,7 @@
1240112405
\end{note}
1240212406
\end{itemdescr}
1240312407

12404-
\rSec2[inout.ptr]{Function template \tcode{inout_ptr}}
12408+
\rSec3[inout.ptr]{Function template \tcode{inout_ptr}}
1240512409

1240612410
\indexlibraryglobal{inout_ptr}%
1240712411
\begin{itemdecl}

0 commit comments

Comments
 (0)