diff --git a/source/utilities.tex b/source/utilities.tex index a81d5265f5..0a05e21cf6 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -8924,7 +8924,7 @@ \rSec1[smartptr]{Smart pointers} -\rSec2[unique.ptr]{Class template \tcode{unique_ptr}} +\rSec2[unique.ptr]{Unique-ownership pointers} \rSec3[unique.ptr.general]{General} @@ -10161,7 +10161,9 @@ \tcode{os}. \end{itemdescr} -\rSec2[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}% +\rSec2[util.sharedptr]{Shared-ownership pointers} + +\rSec3[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}}% \indextext{smart pointers|(}% \indexlibraryglobal{bad_weak_ptr}% @@ -10190,9 +10192,9 @@ An \impldef{return value of \tcode{bad_weak_ptr::what}} \ntbs{}. \end{itemdescr} -\rSec2[util.smartptr.shared]{Class template \tcode{shared_ptr}} +\rSec3[util.smartptr.shared]{Class template \tcode{shared_ptr}} -\rSec3[util.smartptr.shared.general]{General} +\rSec4[util.smartptr.shared.general]{General} \pnum \indexlibraryglobal{shared_ptr}% @@ -10317,7 +10319,7 @@ \tcode{Y*} is convertible to \tcode{T*} or \tcode{Y} is \tcode{U[N]} and \tcode{T} is \cv{}~\tcode{U[]}. -\rSec3[util.smartptr.shared.const]{Constructors} +\rSec4[util.smartptr.shared.const]{Constructors} \pnum In the constructor definitions below, @@ -10573,7 +10575,7 @@ If an exception is thrown, the constructor has no effect. \end{itemdescr} -\rSec3[util.smartptr.shared.dest]{Destructor} +\rSec4[util.smartptr.shared.dest]{Destructor} \indexlibrarydtor{shared_ptr}% \begin{itemdecl} @@ -10607,7 +10609,7 @@ than its previous value. \end{note} -\rSec3[util.smartptr.shared.assign]{Assignment} +\rSec4[util.smartptr.shared.assign]{Assignment} \indexlibrarymember{operator=}{shared_ptr}% \begin{itemdecl} @@ -10672,7 +10674,7 @@ \tcode{*this}. \end{itemdescr} -\rSec3[util.smartptr.shared.mod]{Modifiers} +\rSec4[util.smartptr.shared.mod]{Modifiers} \indexlibrarymember{swap}{shared_ptr}% \begin{itemdecl} @@ -10730,7 +10732,7 @@ Equivalent to \tcode{shared_ptr(p, d, a).swap(*this)}. \end{itemdescr} -\rSec3[util.smartptr.shared.obs]{Observers} +\rSec4[util.smartptr.shared.obs]{Observers} \indexlibrarymember{get}{shared_ptr}% \begin{itemdecl} element_type* get() const noexcept; @@ -10886,7 +10888,7 @@ \end{itemdescr} -\rSec3[util.smartptr.shared.create]{Creation} +\rSec4[util.smartptr.shared.create]{Creation} \pnum The common requirements that apply to all @@ -11259,7 +11261,7 @@ \end{example} \end{itemdescr} -\rSec3[util.smartptr.shared.cmp]{Comparison} +\rSec4[util.smartptr.shared.cmp]{Comparison} \indexlibrarymember{operator==}{shared_ptr}% \begin{itemdecl} @@ -11317,7 +11319,7 @@ \end{codeblock} \end{itemdescr} -\rSec3[util.smartptr.shared.spec]{Specialized algorithms} +\rSec4[util.smartptr.shared.spec]{Specialized algorithms} \indexlibrarymember{swap}{shared_ptr}% \begin{itemdecl} @@ -11331,7 +11333,7 @@ Equivalent to \tcode{a.swap(b)}. \end{itemdescr} -\rSec3[util.smartptr.shared.cast]{Casts} +\rSec4[util.smartptr.shared.cast]{Casts} \indexlibrarymember{static_pointer_cast}{shared_ptr}% \begin{itemdecl} @@ -11458,7 +11460,7 @@ \end{note} \end{itemdescr} -\rSec3[util.smartptr.getdeleter]{\tcode{get_deleter}} +\rSec4[util.smartptr.getdeleter]{\tcode{get_deleter}} \indexlibrarymember{get_deleter}{shared_ptr}% \begin{itemdecl} @@ -11482,7 +11484,7 @@ \end{note} \end{itemdescr} -\rSec3[util.smartptr.shared.io]{I/O} +\rSec4[util.smartptr.shared.io]{I/O} \indexlibrarymember{operator<<}{shared_ptr}% \begin{itemdecl} @@ -11500,9 +11502,9 @@ \tcode{os}. \end{itemdescr} -\rSec2[util.smartptr.weak]{Class template \tcode{weak_ptr}} +\rSec3[util.smartptr.weak]{Class template \tcode{weak_ptr}} -\rSec3[util.smartptr.weak.general]{General} +\rSec4[util.smartptr.weak.general]{General} \pnum \indexlibraryglobal{weak_ptr}% @@ -11566,7 +11568,7 @@ containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an incomplete type. -\rSec3[util.smartptr.weak.const]{Constructors} +\rSec4[util.smartptr.weak.const]{Constructors} \indexlibraryctor{weak_ptr}% \begin{itemdecl} @@ -11629,7 +11631,7 @@ \tcode{r} is empty, stores a null pointer value, and \tcode{r.use_count() == 0}. \end{itemdescr} -\rSec3[util.smartptr.weak.dest]{Destructor} +\rSec4[util.smartptr.weak.dest]{Destructor} \indexlibrarydtor{weak_ptr}% \begin{itemdecl} @@ -11643,7 +11645,7 @@ effect on the object its stored pointer points to. \end{itemdescr} -\rSec3[util.smartptr.weak.assign]{Assignment} +\rSec4[util.smartptr.weak.assign]{Assignment} \indexlibrarymember{operator=}{weak_ptr}% \begin{itemdecl} @@ -11683,7 +11685,7 @@ \tcode{*this}. \end{itemdescr} -\rSec3[util.smartptr.weak.mod]{Modifiers} +\rSec4[util.smartptr.weak.mod]{Modifiers} \indexlibrarymember{swap}{weak_ptr}% \begin{itemdecl} void swap(weak_ptr& r) noexcept; @@ -11706,7 +11708,7 @@ Equivalent to \tcode{weak_ptr().swap(*this)}. \end{itemdescr} -\rSec3[util.smartptr.weak.obs]{Observers} +\rSec4[util.smartptr.weak.obs]{Observers} \indexlibrarymember{use_count}{weak_ptr}% \begin{itemdecl} long use_count() const noexcept; @@ -11763,7 +11765,7 @@ \end{itemdescr} -\rSec3[util.smartptr.weak.spec]{Specialized algorithms} +\rSec4[util.smartptr.weak.spec]{Specialized algorithms} \indexlibrarymember{swap}{weak_ptr}% \begin{itemdecl} @@ -11777,7 +11779,7 @@ Equivalent to \tcode{a.swap(b)}. \end{itemdescr} -\rSec2[util.smartptr.ownerless]{Class template \tcode{owner_less}} +\rSec3[util.smartptr.ownerless]{Class template \tcode{owner_less}} \pnum The class template \tcode{owner_less} allows ownership-based mixed comparisons of shared @@ -11831,7 +11833,7 @@ \end{itemize} \end{note} -\rSec2[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}} +\rSec3[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}} \pnum \indexlibraryglobal{enable_shared_from_this}% @@ -11963,7 +11965,9 @@ \end{itemdescr}% \indextext{smart pointers|)} -\rSec2[out.ptr.t]{Class template \tcode{out_ptr_t}} +\rSec2[smartptr.adapt]{Smart pointer adaptors} + +\rSec3[out.ptr.t]{Class template \tcode{out_ptr_t}} \pnum \tcode{out_ptr_t} is a class template used to adapt types @@ -12163,7 +12167,7 @@ \end{note} \end{itemdescr} -\rSec2[out.ptr]{Function template \tcode{out_ptr}} +\rSec3[out.ptr]{Function template \tcode{out_ptr}} \indexlibraryglobal{out_ptr}% \begin{itemdecl} @@ -12182,7 +12186,7 @@ \tcode{out_ptr_t(s, std::forward(args)...)} \end{itemdescr} -\rSec2[inout.ptr.t]{Class template \tcode{inout_ptr_t}} +\rSec3[inout.ptr.t]{Class template \tcode{inout_ptr_t}} \pnum \tcode{inout_ptr_t} is a class template used to adapt types @@ -12401,7 +12405,7 @@ \end{note} \end{itemdescr} -\rSec2[inout.ptr]{Function template \tcode{inout_ptr}} +\rSec3[inout.ptr]{Function template \tcode{inout_ptr}} \indexlibraryglobal{inout_ptr}% \begin{itemdecl}