std::negate<void>
From cppreference.com
| Defined in header <functional>
|
||
template<> class negate<void>; |
(since C++14) | |
std::negate<> is a specialization of std::negate with parameter and return type deduced.
Member types
| Type | Definition |
is_transparent
|
unspecified |
Member functions
| returns its negated argument (public member function) |
std::negate<void>::operator()
template< class T > constexpr auto operator()( T&& arg ) const -> decltype(-std::forward<T>(arg)); |
||
Returns the result of negating arg.
Parameters
| arg | - | value to negate |
Return value
-std::forward<T>(arg).
Example
Run this code
#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';
}
Output:
(4,2)
(-4,-2)
(-4,-2)