std::negate<void>
From cppreference.com
< cpp | utility | functional
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.
Contents |
[edit]Member types
Type | Definition |
is_transparent | unspecified |
[edit]Member functions
operator() | returns its negated argument (public member function) |
std::negate<void>::operator()
template<class T > constexprauto operator()( T&& arg )const | ||
Returns the result of negating arg.
Parameters
arg | - | value to negate |
Return value
-std::forward<T>(arg).
[edit]Example
Run this code
#include <complex>#include <functional>#include <iostream> int main(){auto complex_negate =std::negate<void>{};// “void” can be omittedconstexprstd::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)