std::experimental::ranges:: exchange
From cppreference.net
<
cpp
|
experimental
|
ranges
|
Definiert im Header
<experimental/ranges/utility>
|
||
|
template
<
MoveConstructible T,
class
U
=
T
>
requires Assignable
<
T
&
, U
>
|
(ranges TS) | |
Ersetzt den Wert von obj durch new_value und gibt den alten Wert von obj zurück, wie durch
T old_value = std::move(obj); obj = std::forward<U>(new_value); return old_value;
Inhaltsverzeichnis |
Parameter
| obj | - | Objekt, dessen Wert ersetzt werden soll |
| new_value | - |
der Wert, der
obj
zugewiesen werden soll
|
Rückgabewert
Der alte Wert von obj .
Exceptions
noexcept
Spezifikation:
noexcept
(
std::
is_nothrow_move_constructible
<
T
>
::
value
&&
std:: is_nothrow_assignable < T & , U > :: value )
std:: is_nothrow_assignable < T & , U > :: value )
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++14)
|
ersetzt das Argument durch einen neuen Wert und gibt seinen vorherigen Wert zurück
(Funktionsschablone) |