mirror of
https://github.com/matrix-construct/construct
synced 2024-11-25 08:12:37 +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:
parent
89d8f7cf27
commit
d402eddb98
10 changed files with 63 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
//
|
||||
|
|
16
ircd/run.cc
16
ircd/run.cc
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
20
matrix/vm.cc
20
matrix/vm.cc
|
@ -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
|
||||
{
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue