backend/x64/a32_interface: Mark Context move constructor and move assignment as noexcept
Provides a more "correct" move constructor/assignment operator, since these relevant functions shouldn't throw exceptions. Has the benefit of playing nicely with std::move_if_noexcept and other noexcept library facilities.
This commit is contained in:
parent
20fabc5083
commit
2e180a7f14
2 changed files with 4 additions and 4 deletions
|
@ -18,9 +18,9 @@ public:
|
||||||
Context();
|
Context();
|
||||||
~Context();
|
~Context();
|
||||||
Context(const Context&);
|
Context(const Context&);
|
||||||
Context(Context&&);
|
Context(Context&&) noexcept;
|
||||||
Context& operator=(const Context&);
|
Context& operator=(const Context&);
|
||||||
Context& operator=(Context&&);
|
Context& operator=(Context&&) noexcept;
|
||||||
|
|
||||||
/// View and modify registers.
|
/// View and modify registers.
|
||||||
std::array<std::uint32_t, 16>& Regs();
|
std::array<std::uint32_t, 16>& Regs();
|
||||||
|
|
|
@ -222,12 +222,12 @@ struct Context::Impl {
|
||||||
Context::Context() : impl(std::make_unique<Context::Impl>()) { impl->jit_state.ResetRSB(); }
|
Context::Context() : impl(std::make_unique<Context::Impl>()) { impl->jit_state.ResetRSB(); }
|
||||||
Context::~Context() = default;
|
Context::~Context() = default;
|
||||||
Context::Context(const Context& ctx) : impl(std::make_unique<Context::Impl>(*ctx.impl)) {}
|
Context::Context(const Context& ctx) : impl(std::make_unique<Context::Impl>(*ctx.impl)) {}
|
||||||
Context::Context(Context&& ctx) : impl(std::move(ctx.impl)) {}
|
Context::Context(Context&& ctx) noexcept : impl(std::move(ctx.impl)) {}
|
||||||
Context& Context::operator=(const Context& ctx) {
|
Context& Context::operator=(const Context& ctx) {
|
||||||
*impl = *ctx.impl;
|
*impl = *ctx.impl;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
Context& Context::operator=(Context&& ctx) {
|
Context& Context::operator=(Context&& ctx) noexcept {
|
||||||
impl = std::move(ctx.impl);
|
impl = std::move(ctx.impl);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue