std::negate<void>
Min standard notice:
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
arg: value to negate
# Return value
-std::forward
# 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';
}