0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-29 02:02:38 +01:00

ircd::exception: Experimental elimination of copy and move semantics.

ircd::exception: Virtualize base; minor cleanup.
This commit is contained in:
Jason Volk 2019-03-16 15:39:21 -07:00
parent cdb8308b02
commit 5364674801

View file

@ -80,7 +80,7 @@ namespace ircd
/// IS TO RETURN CONTROL FROM THE CATCH BLOCK BEFORE CONTEXT SWITCHING.
/// !!!
struct ircd::exception
:std::exception
:virtual std::exception
{
static constexpr const size_t &BUFSIZE
{
@ -101,10 +101,15 @@ struct ircd::exception
return buf;
}
exception(const generate_skip_t = {}) noexcept
exception(generate_skip_t = {}) noexcept
{
buf[0] = '\0';
}
exception(exception &&) = delete;
exception(const exception &) = delete;
exception &operator=(exception &&) = delete;
exception &operator=(const exception &) = delete;
};
/// Always prefer ircd::terminate() to std::terminate() for all project code.