std::negate<void>

Header: <functional>

std::negate<> is a specialization of std::negate with parameter and return type deduced.

# Declarations

template<>
class negate<void>;

(since C++14)

# Parameters

# Return value

-std::forward(arg).

# Example

#include <complex>
#include <functional>
#include <iostream>
 
int main()
{
    auto complex_negate = std::negate<void>{}; // “void” can be omitted
    constexpr std::complex z(4, 2);
    std::cout << z << '\n';
    std::cout << -z << '\n';
    std::cout << complex_negate(z) << '\n';
}