diff --git a/source/containers.tex b/source/containers.tex index 4aba72d02d..a0a4c76e91 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -10953,9 +10953,9 @@ constexpr void pop_back(); template - constexpr pointer try_emplace_back(Args&&... args); - constexpr pointer try_push_back(const T& x); - constexpr pointer try_push_back(T&& x); + constexpr optional try_emplace_back(Args&&... args); + constexpr optional try_push_back(const T& x); + constexpr optional try_push_back(T&& x); template<@\exposconcept{container-compatible-range}@ R> constexpr ranges::borrowed_iterator_t try_append_range(R&& rg); @@ -11262,9 +11262,9 @@ \indexlibrarymember{try_push_back}{inplace_vector}% \begin{itemdecl} template - constexpr pointer try_emplace_back(Args&&... args); -constexpr pointer try_push_back(const T& x); -constexpr pointer try_push_back(T&& x); + constexpr optional try_emplace_back(Args&&... args); +constexpr optional try_push_back(const T& x); +constexpr optional try_push_back(T&& x); \end{itemdecl} \begin{itemdescr} @@ -11290,8 +11290,8 @@ \pnum \returns -\keyword{nullptr} if \tcode{size() == capacity()} is \tcode{true}, -otherwise \tcode{addressof(back())}. +\keyword{nullopt} if \tcode{size() == capacity()} is \tcode{true}, +otherwise \tcode{optional(in_place, back())}. \pnum \throws diff --git a/source/support.tex b/source/support.tex index 203a1bf45f..c5a4a680f7 100644 --- a/source/support.tex +++ b/source/support.tex @@ -671,7 +671,7 @@ #define @\defnlibxname{cpp_lib_erase_if}@ 202002L // also in \libheader{string}, \libheader{deque}, \libheader{forward_list}, \libheader{list}, \libheader{vector}, \libheader{map}, \libheader{set}, \libheader{unordered_map}, // \libheader{unordered_set} -#define @\defnlibxname{cpp_lib_exception_ptr_cast}@ 202506L // also in \libheader{exception} +#define @\defnlibxname{cpp_lib_exception_ptr_cast}@ 202603L // also in \libheader{exception} #define @\defnlibxname{cpp_lib_exchange_function}@ 201304L // freestanding, also in \libheader{utility} #define @\defnlibxname{cpp_lib_execution}@ 201902L // also in \libheader{execution} #define @\defnlibxname{cpp_lib_expected}@ 202211L // also in \libheader{expected} @@ -727,7 +727,7 @@ #define @\defnlibxname{cpp_lib_indirect}@ 202502L // also in \libheader{memory} #define @\defnlibxname{cpp_lib_initializer_list}@ 202511L // freestanding, also in \libheader{initializer_list} -#define @\defnlibxname{cpp_lib_inplace_vector}@ 202406L // also in \libheader{inplace_vector} +#define @\defnlibxname{cpp_lib_inplace_vector}@ 202603L // also in \libheader{inplace_vector} #define @\defnlibxname{cpp_lib_int_pow2}@ 202002L // freestanding, also in \libheader{bit} #define @\defnlibxname{cpp_lib_integer_comparison_functions}@ 202002L // freestanding, also in \libheader{utility} #define @\defnlibxname{cpp_lib_integer_sequence}@ 202511L // freestanding, also in \libheader{utility} @@ -3844,7 +3844,8 @@ constexpr exception_ptr current_exception() noexcept; [[noreturn]] constexpr void rethrow_exception(exception_ptr p); template constexpr exception_ptr make_exception_ptr(E e) noexcept; - template constexpr const E* exception_ptr_cast(const exception_ptr& p) noexcept; + template + constexpr optional exception_ptr_cast(const exception_ptr& p) noexcept; template void exception_ptr_cast(const exception_ptr&&) = delete; template [[noreturn]] constexpr void throw_with_nested(T&& t); @@ -4225,7 +4226,8 @@ \indexlibraryglobal{exception_ptr_cast}% \begin{itemdecl} -template constexpr const E* exception_ptr_cast(const exception_ptr& p) noexcept; +template + constexpr optional exception_ptr_cast(const exception_ptr& p) noexcept; \end{itemdecl} \begin{itemdescr} @@ -4242,11 +4244,12 @@ \pnum \returns -A pointer to the exception object referred to by \tcode{p}, +An \tcode{optional} containing a reference +to the exception object referred to by \tcode{p}, if \tcode{p} is not null and a handler of type \tcode{const E\&} would be a match\iref{except.handle} for that exception object. -Otherwise, \tcode{nullptr}. +Otherwise, \tcode{nullopt}. \end{itemdescr} \rSec2[except.nested]{\tcode{nested_exception}}