std::negate<void>
De cppreference.com
| Definido en el archivo de encabezado <functional>
|
||
template<>
class negate<void>;
|
(desde C++14) | |
std::negate<> es una especialización de std::negate con el tipo de parámetro y el tipo de retorno deducidos.
Sumario
Tipos miembro
| Tipo | Definición |
is_transparent
|
No especificado. |
Funciones miembro
| Devuelve su argumento negado. (función miembro pública) |
std::negate<void>::operator()
template< class T >
constexpr auto operator()( T&& arg ) const
-> decltype(-std::forward<T>(arg));
|
||
Devuelve el resultado de negar arg.
Parámetros
| arg | - | El valor a negar. |
Valor de retorno
-std::forward<T>(arg).
Ejemplo
Ejecuta este código
#include <complex>
#include <functional>
#include <iostream>
int main()
{
auto complex_negate = std::negate<void>{}; // “void” puede omitirse
constexpr std::complex z(4, 2);
std::cout << z << '\n';
std::cout << -z << '\n';
std::cout << complex_negate(z) << '\n';
}
Salida:
(4,2)
(-4,-2)
(-4,-2)