Espacios de nombres
Variantes

std::negate<void>

De cppreference.com
 
 
Biblioteca de servicios
 
Objetos función
Envoltorios de funciones
(C++11)
(C++11)
Aplicación parcial de funciones
(C++20)
(C++11)
Invocación de funciones
(C++17)(C++23)
Objeto función identidad
(C++20)
Envoltorios de referencias
(C++11)(C++11)
Envoltorios de operador transparentes
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
Negadores
(C++17)
Buscadores
Comparadores restringidos
Vinculadores y adaptadores antiguos
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
(hasta C++17)(hasta C++17)
(hasta C++17)(hasta C++17)

(hasta C++17)
(hasta C++17)(hasta C++17)(hasta C++17)(hasta C++17)
(hasta C++20)
(hasta C++20)
 
<tbody> </tbody>
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.

Tipos miembro

Tipo Definición
is_transparent No especificado.

Funciones miembro

Devuelve su argumento negado.
(función miembro pública)

std::negate<void>::operator()

<tbody> </tbody>
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

#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)