Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 22 additions & 26 deletions source/support.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3837,18 +3837,19 @@
terminate_handler set_terminate(terminate_handler f) noexcept;
[[noreturn]] void terminate() noexcept;

constexpr int uncaught_exceptions() noexcept;
int uncaught_exceptions() noexcept;

using exception_ptr = @\unspec@;

constexpr exception_ptr current_exception() noexcept;
constexpr exception_ptr @\exposid{current-exception}@() noexcept; // \expos
exception_ptr current_exception() noexcept;
[[noreturn]] constexpr void rethrow_exception(exception_ptr p);
template<class E> constexpr exception_ptr make_exception_ptr(E e) noexcept;
template<class E> constexpr const E* exception_ptr_cast(const exception_ptr& p) noexcept;
template<class E> void exception_ptr_cast(const exception_ptr&&) = delete;

template<class T> [[noreturn]] constexpr void throw_with_nested(T&& t);
template<class E> constexpr void rethrow_if_nested(const E& e);
template<class T> [[noreturn]] void throw_with_nested(T&& t);
template<class E> void rethrow_if_nested(const E& e);
}
\end{codeblock}

Expand Down Expand Up @@ -4073,7 +4074,7 @@

\indexlibraryglobal{uncaught_exceptions}%
\begin{itemdecl}
constexpr int uncaught_exceptions() noexcept;
int uncaught_exceptions() noexcept;
\end{itemdecl}

\begin{itemdescr}
Expand Down Expand Up @@ -4142,7 +4143,8 @@

\indexlibraryglobal{current_exception}%
\begin{itemdecl}
constexpr exception_ptr current_exception() noexcept;
constexpr exception_ptr @\exposid{current-exception}@() noexcept;
exception_ptr current_exception() noexcept;
\end{itemdecl}

\begin{itemdescr}
Expand Down Expand Up @@ -4212,15 +4214,9 @@
try {
throw e;
} catch(...) {
return current_exception();
return @\exposid{current-exception}@();
}
\end{codeblock}

\pnum
\begin{note}
This function is provided for convenience and
efficiency reasons.
\end{note}
\end{itemdescr}

\indexlibraryglobal{exception_ptr_cast}%
Expand Down Expand Up @@ -4256,18 +4252,18 @@
namespace std {
class nested_exception {
public:
constexpr nested_exception() noexcept;
constexpr nested_exception(const nested_exception&) noexcept = default;
constexpr nested_exception& operator=(const nested_exception&) noexcept = default;
constexpr virtual ~nested_exception() = default;
nested_exception() noexcept;
nested_exception(const nested_exception&) noexcept = default;
nested_exception& operator=(const nested_exception&) noexcept = default;
virtual ~nested_exception() = default;

// access functions
[[noreturn]] constexpr void rethrow_nested() const;
constexpr exception_ptr nested_ptr() const noexcept;
[[noreturn]] void rethrow_nested() const;
exception_ptr nested_ptr() const noexcept;
};

template<class T> [[noreturn]] constexpr void throw_with_nested(T&& t);
template<class E> constexpr void rethrow_if_nested(const E& e);
template<class T> [[noreturn]] void throw_with_nested(T&& t);
template<class E> void rethrow_if_nested(const E& e);
}
\end{codeblock}

Expand All @@ -4284,7 +4280,7 @@

\indexlibraryctor{nested_exception}%
\begin{itemdecl}
constexpr nested_exception() noexcept;
nested_exception() noexcept;
\end{itemdecl}

\begin{itemdescr}
Expand All @@ -4295,7 +4291,7 @@

\indexlibrarymember{rethrow_nested}{nested_exception}%
\begin{itemdecl}
[[noreturn]] constexpr void rethrow_nested() const;
[[noreturn]] void rethrow_nested() const;
\end{itemdecl}

\begin{itemdescr}
Expand All @@ -4307,7 +4303,7 @@

\indexlibrarymember{nested_ptr}{nested_exception}%
\begin{itemdecl}
constexpr exception_ptr nested_ptr() const noexcept;
exception_ptr nested_ptr() const noexcept;
\end{itemdecl}

\begin{itemdescr}
Expand All @@ -4318,7 +4314,7 @@

\indexlibrarymember{throw_with_nested}{nested_exception}%
\begin{itemdecl}
template<class T> [[noreturn]] constexpr void throw_with_nested(T&& t);
template<class T> [[noreturn]] void throw_with_nested(T&& t);
\end{itemdecl}

\begin{itemdescr}
Expand All @@ -4341,7 +4337,7 @@

\indexlibrarymember{rethrow_if_nested}{nested_exception}%
\begin{itemdecl}
template<class E> constexpr void rethrow_if_nested(const E& e);
template<class E> void rethrow_if_nested(const E& e);
\end{itemdecl}

\begin{itemdescr}
Expand Down
Loading