std::experimental::ranges:: exchange
From cppreference.net
<
cpp
|
experimental
|
ranges
|
template
<
MoveConstructible T,
class
U
=
T
>
requires Assignable
<
T
&
, U
>
|
(ranges TS) | |
obj の値を new_value で置き換え、 obj の元の値を返します。以下のように動作します。
T old_value = std::move(obj); obj = std::forward<U>(new_value); return old_value;
目次 |
`, `
`, `
パラメータ
| obj | - | 値を置換するオブジェクト |
| new_value | - |
obj
に代入する値
|
戻り値
obj の古い値。
例外
noexcept
仕様:
noexcept
(
std::
is_nothrow_move_constructible
<
T
>
::
value
&&
std:: is_nothrow_assignable < T & , U > :: value )
std:: is_nothrow_assignable < T & , U > :: value )
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++14)
|
引数を新しい値で置き換え、その前の値を返す
(関数テンプレート) |