std::experimental::ranges:: exchange
From cppreference.net
<
cpp
|
experimental
|
ranges
|
Definido en el encabezado
<experimental/ranges/utility>
|
||
|
template
<
MoveConstructible T,
class
U
=
T
>
requires Assignable
<
T
&
, U
>
|
(ranges TS) | |
Reemplaza el valor de obj con new_value y devuelve el valor anterior de obj , como si fuera mediante
T old_value = std::move(obj); obj = std::forward<U>(new_value); return old_value;
Contenidos |
Parámetros
| obj | - | objeto cuyo valor reemplazar |
| new_value | - |
el valor a asignar a
obj
|
Valor de retorno
El valor antiguo de obj .
Excepciones
noexcept
especificación:
noexcept
(
std::
is_nothrow_move_constructible
<
T
>
::
value
&&
std:: is_nothrow_assignable < T & , U > :: value )
std:: is_nothrow_assignable < T & , U > :: value )
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++14)
|
reemplaza el argumento con un nuevo valor y devuelve su valor anterior
(plantilla de función) |