xieite::is_nothrow_mv_assign<>

Defined in fragment xieite:is_nothrow_mv_assign
(header-only: <xieite/trait/is_nothrow_mv_assign.hpp>)


A wrapper around std::is_nothrow_move_assignable to specify that a type is move-assignable without throwing.


Definition

template<typename T>
concept is_nothrow_mv_assign = std::is_nothrow_move_assignable_v<T>;


Example

import xieite;

struct A {
	A& operator=(A&&) noexcept {}
};

struct B {
	B& operator=(B&&) {}
};

int main() {
	xieite::dump(xieite::is_nothrow_mv_assign<A>);
	xieite::dump(xieite::is_nothrow_mv_assign<B>);
}
Output:
true
false