From 1bfc3e59fe994b83ff9c3345d8616bbc0562c407 Mon Sep 17 00:00:00 2001 From: Jens Maurer Date: Thu, 16 Nov 2017 15:07:53 +0100 Subject: [PATCH] [util.sharedptr] Dissolve subclause and integrate contents into parent. --- source/utilities.tex | 53 ++++++++++++++++++++------------------------ source/xrefdelta.tex | 3 +++ 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 3cf40c5e02..4b3ffdbc26 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -9041,9 +9041,7 @@ \end{itemdescr} \indextext{smart pointers|(}% -\rSec2[util.smartptr]{Shared-ownership pointers} - -\rSec3[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}} +\rSec2[util.smartptr.weak.bad]{Class \tcode{bad_weak_ptr}} \indexlibrary{\idxcode{bad_weak_ptr}}% \begin{codeblock} namespace std { @@ -9070,7 +9068,7 @@ \end{itemdescr} -\rSec3[util.smartptr.shared]{Class template \tcode{shared_ptr}} +\rSec2[util.smartptr.shared]{Class template \tcode{shared_ptr}} \pnum \indexlibrary{\idxcode{shared_ptr}}% @@ -9180,14 +9178,14 @@ reflect modifications that can introduce data races. \pnum -For the purposes of subclause \ref{util.smartptr}, +For the purposes of subclause \ref{smartptr}, a pointer type \tcode{Y*} is said to be \defnx{compatible with}{compatible with!\idxcode{shared_ptr}} a pointer type \tcode{T*} when either \tcode{Y*} is convertible to \tcode{T*} or \tcode{Y} is \tcode{U[N]} and \tcode{T} is \cv{}~\tcode{U[]}. -\rSec4[util.smartptr.shared.const]{\tcode{shared_ptr} constructors} +\rSec3[util.smartptr.shared.const]{\tcode{shared_ptr} constructors} \pnum In the constructor definitions below, @@ -9395,7 +9393,7 @@ If an exception is thrown, the constructor has no effect. \end{itemdescr} -\rSec4[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor} +\rSec3[util.smartptr.shared.dest]{\tcode{shared_ptr} destructor} \indexlibrary{\idxcode{shared_ptr}!destructor}% \begin{itemdecl} @@ -9426,7 +9424,7 @@ \tcode{*this} will report a \tcode{use_count()} that is one less than its previous value. \end{note} -\rSec4[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment} +\rSec3[util.smartptr.shared.assign]{\tcode{shared_ptr} assignment} \indexlibrarymember{operator=}{shared_ptr}% \begin{itemdecl} @@ -9481,9 +9479,7 @@ \returns \tcode{*this}. \end{itemdescr} - - -\rSec4[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers} +\rSec3[util.smartptr.shared.mod]{\tcode{shared_ptr} modifiers} \indexlibrarymember{swap}{shared_ptr}% \begin{itemdecl} @@ -9532,7 +9528,7 @@ \effects Equivalent to \tcode{shared_ptr(p, d, a).swap(*this)}. \end{itemdescr} -\rSec4[util.smartptr.shared.obs]{\tcode{shared_ptr} observers} +\rSec3[util.smartptr.shared.obs]{\tcode{shared_ptr} observers} \indexlibrarymember{get}{shared_ptr}% \begin{itemdecl} element_type* get() const noexcept; @@ -9651,8 +9647,7 @@ \end{itemdescr} - -\rSec4[util.smartptr.shared.create]{\tcode{shared_ptr} creation} +\rSec3[util.smartptr.shared.create]{\tcode{shared_ptr} creation} \pnum The common requirements that apply to @@ -9923,7 +9918,7 @@ \end{example} \end{itemdescr} -\rSec4[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison} +\rSec3[util.smartptr.shared.cmp]{\tcode{shared_ptr} comparison} \indexlibrarymember{operator==}{shared_ptr}% \begin{itemdecl} @@ -10045,7 +10040,7 @@ The second function template returns \tcode{!(nullptr < a)}. \end{itemdescr} -\rSec4[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms} +\rSec3[util.smartptr.shared.spec]{\tcode{shared_ptr} specialized algorithms} \indexlibrarymember{swap}{shared_ptr}% \begin{itemdecl} @@ -10057,7 +10052,7 @@ \pnum\effects Equivalent to \tcode{a.swap(b)}. \end{itemdescr} -\rSec4[util.smartptr.shared.cast]{\tcode{shared_ptr} casts} +\rSec3[util.smartptr.shared.cast]{\tcode{shared_ptr} casts} \indexlibrarymember{static_pointer_cast}{shared_ptr}% \begin{itemdecl} @@ -10163,7 +10158,7 @@ \end{note} \end{itemdescr} -\rSec4[util.smartptr.getdeleter]{\tcode{get_deleter}} +\rSec3[util.smartptr.getdeleter]{\tcode{get_deleter}} \indexlibrarymember{get_deleter}{shared_ptr}% \begin{itemdecl} @@ -10182,7 +10177,7 @@ \tcode{p} have been destroyed. \end{note} \end{itemdescr} -\rSec4[util.smartptr.shared.io]{\tcode{shared_ptr} I/O} +\rSec3[util.smartptr.shared.io]{\tcode{shared_ptr} I/O} \indexlibrarymember{operator<<}{shared_ptr}% \begin{itemdecl} @@ -10196,7 +10191,7 @@ \pnum\returns \tcode{os}. \end{itemdescr} -\rSec3[util.smartptr.weak]{Class template \tcode{weak_ptr}} +\rSec2[util.smartptr.weak]{Class template \tcode{weak_ptr}} \pnum \indexlibrary{\idxcode{weak_ptr}}% @@ -10264,7 +10259,7 @@ containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an incomplete type. -\rSec4[util.smartptr.weak.const]{\tcode{weak_ptr} constructors} +\rSec3[util.smartptr.weak.const]{\tcode{weak_ptr} constructors} \indexlibrary{\idxcode{weak_ptr}!constructor}% \begin{itemdecl} @@ -10312,7 +10307,7 @@ \tcode{r} shall be empty. \tcode{r.use_count() == 0}. \end{itemdescr} -\rSec4[util.smartptr.weak.dest]{\tcode{weak_ptr} destructor} +\rSec3[util.smartptr.weak.dest]{\tcode{weak_ptr} destructor} \indexlibrary{\idxcode{weak_ptr}!destructor}% \begin{itemdecl} @@ -10324,7 +10319,7 @@ effect on the object its stored pointer points to. \end{itemdescr} -\rSec4[util.smartptr.weak.assign]{\tcode{weak_ptr} assignment} +\rSec3[util.smartptr.weak.assign]{\tcode{weak_ptr} assignment} \indexlibrarymember{operator=}{weak_ptr}% \begin{itemdecl} @@ -10354,7 +10349,7 @@ \pnum\returns \tcode{*this}. \end{itemdescr} -\rSec4[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers} +\rSec3[util.smartptr.weak.mod]{\tcode{weak_ptr} modifiers} \indexlibrarymember{swap}{weak_ptr}% \begin{itemdecl} void swap(weak_ptr& r) noexcept; @@ -10373,7 +10368,7 @@ \pnum\effects Equivalent to \tcode{weak_ptr().swap(*this)}. \end{itemdescr} -\rSec4[util.smartptr.weak.obs]{\tcode{weak_ptr} observers} +\rSec3[util.smartptr.weak.obs]{\tcode{weak_ptr} observers} \indexlibrarymember{use_count}{weak_ptr}% \begin{itemdecl} long use_count() const noexcept; @@ -10425,7 +10420,7 @@ \end{itemdescr} -\rSec4[util.smartptr.weak.spec]{\tcode{weak_ptr} specialized algorithms} +\rSec3[util.smartptr.weak.spec]{\tcode{weak_ptr} specialized algorithms} \indexlibrarymember{swap}{weak_ptr}% \begin{itemdecl} @@ -10437,7 +10432,7 @@ \pnum\effects Equivalent to \tcode{a.swap(b)}. \end{itemdescr} -\rSec3[util.smartptr.ownerless]{Class template \tcode{owner_less}} +\rSec2[util.smartptr.ownerless]{Class template \tcode{owner_less}} \pnum The class template \tcode{owner_less} allows ownership-based mixed comparisons of shared @@ -10488,7 +10483,7 @@ both empty. \end{itemize} \end{note} -\rSec3[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}} +\rSec2[util.smartptr.enab]{Class template \tcode{enable_shared_from_this}} \pnum \indexlibrary{\idxcode{enable_shared_from_this}}% @@ -10578,7 +10573,7 @@ \pnum\returns \tcode{weak_this}. \end{itemdescr} -\rSec3[util.smartptr.hash]{Smart pointer hash support} +\rSec2[util.smartptr.hash]{Smart pointer hash support} \indexlibrary{\idxcode{hash}!\idxcode{unique_ptr}}% \begin{itemdecl} diff --git a/source/xrefdelta.tex b/source/xrefdelta.tex index 5c7a191351..01cc0d287c 100644 --- a/source/xrefdelta.tex +++ b/source/xrefdelta.tex @@ -46,5 +46,8 @@ \movedxref{array.fill}{array.members} \movedxref{array.swap}{array.members} +% Contents of [util.smartptr] was integrated into the parent. +\removedxref{util.smartptr} + % Deprecated features. %\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)