std::convertible_to<U, T>
!std::is_array_v<T>
sus::mem::Move<T>
!std::is_const_v<T>
!std::same_as<T, U> || ::sus::mem::Copy<T>
sus::mem::IsMoveRef<decltype(src)>
Replace the dest with src, and return the old value in dest.
dest
src
This is equivalent to:
T old = sus::move(dest); dest = sus::forward<T>(src); return old;
This operation is known as std::exchange() in the stdlib.
std::exchange()