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

ircd::run: Place out-of-line default ctor/dtor definitions.

ircd::http::error: Place out-of-line dtor definition.

ircd:Ⓜ️:error: Place out-of-line dtor definition.

ircd::exception: Place out-of-line dtor definition.

ircd:Ⓜ️:vm: Place out-of-line ctor definitions for copts/opts.
This commit is contained in:
Jason Volk 2020-02-28 12:12:51 -08:00
parent 89d8f7cf27
commit d402eddb98
10 changed files with 63 additions and 1 deletions

View file

@ -105,6 +105,7 @@ struct ircd::exception
exception(const exception &) = delete;
exception &operator=(exception &&) = delete;
exception &operator=(const exception &) = delete;
~exception() noexcept;
};
/// Exception generator convenience macro

View file

@ -53,6 +53,7 @@ struct ircd::http::error
error(const http::code &, std::string content = {}, std::string headers = {});
error(const http::code &, std::string content, const vector_view<const header> &);
template<class... args> error(const string_view &fmt, const http::code &, args&&...);
~error() noexcept;
};
/// Represents a single \r\n delimited line used in HTTP.

View file

@ -54,6 +54,7 @@ class ircd::m::error
error(const http::code &);
error(std::string);
error();
~error() noexcept;
};
/// Macro for all matrix exceptions; all errors rooted from m::error

View file

@ -317,6 +317,8 @@ struct ircd::m::vm::opts
/// Whether to log an info message on successful eval.
bool infolog_accept {false};
opts() noexcept;
};
/// Extension structure to vm::opts which includes additional options for
@ -356,6 +358,8 @@ struct ircd::m::vm::copts
/// Whether to log an info message after commit accepted
bool infolog_postcommit {false};
copts() noexcept;
};
struct ircd::m::vm::error

View file

@ -85,7 +85,8 @@ struct ircd::run::changed
{}
/// Default construction for no-op
changed() = default;
changed() noexcept;
~changed() noexcept;
};
/// The run::level allows all observers to know the coarse state of IRCd and to

View file

@ -247,6 +247,12 @@ noexcept
// exception
//
// Out-of-line placement
ircd::exception::~exception()
noexcept
{
}
ssize_t
ircd::exception::generate(const string_view &fmt,
const va_rtti &ap)

View file

@ -1109,6 +1109,12 @@ ircd::http::error::error(const http::code &code,
::snprintf(buf, sizeof(buf), "%u %s", uint(code), status(code).c_str());
}
// Out-of-line placement.
ircd::http::error::~error()
noexcept
{
}
//
// status
//

View file

@ -48,6 +48,22 @@ ircd::util::instance_list<ircd::run::changed>::list
decltype(ircd::run::changed::dock)
ircd::run::changed::dock;
//
// run::changed::changed
//
// Out-of-line placement
ircd::run::changed::changed()
noexcept
{
}
// Out-of-line placement
ircd::run::changed::~changed()
noexcept
{
}
/// The notification will be posted to the io_context. This is important to
/// prevent the callback from continuing execution on some ircd::ctx stack and
/// instead invoke their function on the main stack in their own io_context

View file

@ -87,6 +87,12 @@ ircd::m::error::error(internal_t,
}
}
// Out-of-line placement
ircd::m::error::~error()
noexcept
{
}
ircd::string_view
ircd::m::error::errstr()
const noexcept

View file

@ -240,3 +240,23 @@ ircd::m::vm::sequence::get(const eval &eval)
{
return eval.sequence;
}
//
// copts (creation options)
//
// Out-of-line linkage
ircd::m::vm::copts::copts()
noexcept
{
}
//
// opts (options)
//
// Out-of-line linkage
ircd::m::vm::opts::opts()
noexcept
{
}