diff --git a/source/diagnostics.tex b/source/diagnostics.tex index 3c4b0c9800..d16f516a77 100644 --- a/source/diagnostics.tex +++ b/source/diagnostics.tex @@ -2034,7 +2034,7 @@ Let \tcode{n} be \tcode{t.size()}. \pnum -\expects +\hardexpects \tcode{skip <= skip + max_depth} is \tcode{true}. \pnum @@ -2213,7 +2213,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{frame_no < size()} is \tcode{true}. \pnum diff --git a/source/iterators.tex b/source/iterators.tex index e073c00100..0d95531889 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -5574,7 +5574,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{x.v_.valueless_by_exception()} is \tcode{false}. \pnum @@ -5594,7 +5594,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{x.v_.valueless_by_exception()} is \tcode{false}. \pnum @@ -5624,7 +5624,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{holds_alternative(v_)} is \tcode{true}. \pnum @@ -5649,7 +5649,7 @@ \end{codeblock} \pnum -\expects +\hardexpects \tcode{holds_alternative(v_)} is \tcode{true}. \pnum @@ -5694,7 +5694,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{holds_alternative(v_)} is \tcode{true}. \pnum @@ -5713,7 +5713,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{holds_alternative(v_)} is \tcode{true}. \pnum @@ -5768,7 +5768,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} are each \tcode{false}. @@ -5789,7 +5789,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} are each \tcode{false}. @@ -5810,7 +5810,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} are each \tcode{false}. @@ -5832,7 +5832,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{holds_alternative(i.v_)} is \tcode{true}. \pnum @@ -5849,7 +5849,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{holds_alternative(x.v_)} and \tcode{holds_alternative(y.v_)} are each \tcode{true}. @@ -6014,8 +6014,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{n >= 0}. +\hardexpects +\tcode{n >= 0} is \tcode{true}. \pnum \effects @@ -6101,7 +6101,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{length > 0} is \tcode{true}. \pnum @@ -6129,8 +6129,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{n < length}. +\hardexpects +\tcode{n < length} is \tcode{true}. \pnum \effects @@ -6146,8 +6146,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{length > 0}. +\hardexpects +\tcode{length > 0} is \tcode{true}. \pnum \effects @@ -6166,8 +6166,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{length > 0}. +\hardexpects +\tcode{length > 0} is \tcode{true}. \pnum \effects @@ -6263,8 +6263,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{n <= length}. +\hardexpects +\tcode{n <= length} is \tcode{true}. \pnum \effects @@ -6339,8 +6339,8 @@ \begin{itemdescr} \pnum -\expects -\tcode{-n <= length}. +\hardexpects +\tcode{-n <= length} is \tcode{true}. \pnum \effects @@ -6420,7 +6420,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{i.length > 0} is \tcode{true}. \pnum @@ -6438,7 +6438,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects Both \tcode{x.length > 0} and \tcode{y.length > 0} are \tcode{true}. \pnum diff --git a/source/memory.tex b/source/memory.tex index aad6384825..48d227994c 100644 --- a/source/memory.tex +++ b/source/memory.tex @@ -3952,8 +3952,11 @@ \begin{itemdescr} \pnum \expects -\tcode{get() != nullptr \&\& i >= 0}. -If \tcode{T} is \tcode{U[N]}, \tcode{i < N}. +\tcode{get() != nullptr} is \tcode{true}. + +\pnum +\hardexpects +$\tcode{i} \ge 0$. If \tcode{T} is \tcode{U[N]}, $\tcode{i} < \tcode{N}$. \pnum \returns diff --git a/source/ranges.tex b/source/ranges.tex index c16eba7f10..4e61513f77 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -1868,7 +1868,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{!empty()} is \tcode{true}. \pnum @@ -1885,7 +1885,7 @@ \begin{itemdescr} \pnum -\expects +\hardexpects \tcode{!empty()} is \tcode{true}. \pnum diff --git a/source/support.tex b/source/support.tex index 95d674aafb..0fab734034 100644 --- a/source/support.tex +++ b/source/support.tex @@ -855,9 +855,12 @@ Additionally, each of the following macros is defined in a hardened implementation: \begin{codeblock} #define @\defnlibxname{cpp_lib_hardened_array}@ 202502L // also in \libheader{array} +#define @\defnlibxname{cpp_lib_hardened_basic_stacktrace}@ 202506L // also in \libheader{stacktrace} #define @\defnlibxname{cpp_lib_hardened_basic_string}@ 202502L // also in \libheader{string} #define @\defnlibxname{cpp_lib_hardened_basic_string_view}@ 202502L // also in \libheader{string_view} #define @\defnlibxname{cpp_lib_hardened_bitset}@ 202502L // also in \libheader{bitset} +#define @\defnlibxname{cpp_lib_hardened_common_iterator}@ 202506L // also in \libheader{iterator} +#define @\defnlibxname{cpp_lib_hardened_counted_iterator}@ 202506L // also in \libheader{iterator} #define @\defnlibxname{cpp_lib_hardened_deque}@ 202502L // also in \libheader{deque} #define @\defnlibxname{cpp_lib_hardened_expected}@ 202502L // also in \libheader{expected} #define @\defnlibxname{cpp_lib_hardened_forward_list}@ 202502L // also in \libheader{forward_list} @@ -865,9 +868,11 @@ #define @\defnlibxname{cpp_lib_hardened_list}@ 202502L // also in \libheader{list} #define @\defnlibxname{cpp_lib_hardened_mdspan}@ 202502L // also in \libheader{mdspan} #define @\defnlibxname{cpp_lib_hardened_optional}@ 202502L // also in \libheader{optional} +#define @\defnlibxname{cpp_lib_hardened_shared_ptr_array}@ 202506L // also in \libheader{memory} #define @\defnlibxname{cpp_lib_hardened_span}@ 202502L // also in \libheader{span} #define @\defnlibxname{cpp_lib_hardened_valarray}@ 202502L // also in \libheader{valarray} #define @\defnlibxname{cpp_lib_hardened_vector}@ 202502L // also in \libheader{vector} +#define @\defnlibxname{cpp_lib_hardened_view_interface}@ 202506L // also in \libheader{memory} \end{codeblock} \pnum